Part 1 and Part 2 code complete