fuck reflection, fuck java (fix null pointer too)