make optional arguments more optional but not

They act like non-optional args now

hopefully

need moar tests