refactor the gbl namespace into global... gbl sounds weird and can easily get confused with glbuffer(glb)