add part2, part4