arity based parameter overloading