Committed working, completed version of the assignment.