Improve argument checking