better search and a bunch of other stuff
slow and stable but functional
slow and stable but functional
cleanup