add M4.inverse function