consistent argument checking