KTH MF2095 - Programming Task - Based on Exercise 17