assignment 9 except the final item #9
assignment 10 in progress #10