directory structure refactored