fix return callback bug