# structure refactoring