all core functionality work TO DO : add searching db