Updated for assignment 1