only use one constructor, move these functions to the Matrix2 companion object.