mostly through part 3