A quick 4x4 matrix, needs loads more methods (also multiplication is only set up for a 3D vector (assumes you don't care about the time dimension), this is because I haven't written a 4D or ND vector yet