refactor file structure