doubles finally working, still cast as vec4 to vert output