add search functionality, ejs, refactored - many changes