Part of part 2 and part 3