edited matrix3 module