projects module refactoring