Added majority of HW2 changes