added some comments, switched the arguments of Matrix back