refactored directory strucutre