finished assignments basic_2 and basic_3