added in real search functionality, needs tweaking but mostly there, closes #56