Better argument checking