First attempt at Part 2