adding refactored file structure