basically finished, just need search