ML2: new exercise 5 including solutions