decoupled classes, fixed directory structure