Assignment Solution

This contains the new code that satisfies the solution to the assignment
problem