added data payload to the callback function