* added search functionality
* added ability to delete current project
* made ok to have no project and no current project
* abstracted some complex data structure manipulation to functions