add sanity check for argument