refactored the file structure