- refactoring structure