refactor the directory structure