refactor project structures