Completed ex29
Completed ex30