zone: update func