Added first part of part 3