End result of assignment 5
Starting point for assignment 6