added update optional parameters