fix callback calling