for the assignment2