fixed up part 3
Finished part 2, for now