added tp2 part1