pass-through callback on success and error