refactor file structure, much clean now