Final commit with the result. Using previous exercise.