Exercise 3.1 initial commits