update callback way