refactor project-chooser functionality