add a few extra arguments ckecks