refactored file structure again