Updated for Assignment 12