added multiple arity functions