extend func update