add overloaded function with callback argument