refactor directory structure