Final version HW4 - 1st submit