project structure refactor changes