Worked on Part 4; Part 3 still unfinished