add search and list functionalities