Refactor to use overloaded arity