add new matrix opterations