added update mechanism