update mechanism