Refactor general project structure