Updated with the solutions of the challenge