finsihed cs351hw7pl