hw4 assignment