make basic fns accept variable arity