refactored projects module