Part 1 working
Part 2 working
Part 3 working