refactoring design-rrze