ex 2.1 plus some more tests, started ex 2.2