* refactor * move thing out * write unit tests * get thing to work * optimization? * fix build failure