update and propagate working