refactored directory structure and updated headers