moving vectors and matrixes back to GLM since they have nice tricks and optimizations