fully implemented search and edit