modified callback calling