refactor project module