more OpenGL setup
less boilerplate