Some spoilers for the exercise here, have a nice day :)
Spoiler 1
Spoiler 2
Spoiler 3