modify the callback