finish base implementation for matrix4, vector4, vector3. Needs testing