follow standard conventions with the error parameter of the callback more rigorously