cleaned up reflection