refactoring / reflectionhepler