better client project structure