better arg checking