Finished search methods. Generation method needs more work