optimize project structure