added matrix mul and pow