vector and matrix operator overloads for the most part