Improved bad argument handling