I've found this repo/project very useful. I've managed to solve all of the challenges except the last one. Could be useful to have a solution/explanation.