cleaned up loop logic in App.ProjectsCollection