finish update part1