refactored and made the project list methods more generic