use an object instead of allowing reflective calls