some sort of reflection hack