adjust the callback structure