Exercise 1, 2 and 3 of Stream-Adventure