vectors and quaternions implemented, untested