changed part 2, and 3