Final Assignment Version

This version is submitted for school.