search function rudimentarily complete || MVP COMPLETE, will make less horrible later