properly handle argument passing to arc