lots of changes, majorly add search controller