update callback func