updated Assignment 4