changes to the API, mostly for `args`