add code of part2