Part 1 done, Part 2 mostly done