matrix : you cannot skip it, have to complete it so that following hw could use it : exchange()
matrix : fix bug in function : should not modify object passed from parameter
matrix : i am sorry , i didn't do my best