working on update callback