refactor directory stucture