refactor ReflectHelper