updated to reflect Programming Assignment 2