Reflection refactoring + new methods