add search functionality, implement templates, add basic styling