some changes of part2