add the second version of part2