completed ex1 - ex9