refactor project creation