refactoring: file structure