modify assignment_4_rev_1