update surface