reasonably sure the M matrix functions work