make bad args throw IAE