again, screwing around with the order of things and multiple calls to gl.drawArrays