exercises 16 and 17 plus test text files
exercise 18
exercises 19 and 20