refactored directory structure