simplified structure refactoring