structure refactoring (flexibility)