last(method is wrong, matrix is good)