refactoring structure.