now with reflection