Added overloading, matrix multiplication and inversion.