add update callbacks