- reflection refactoring