refactored file heirarchy