begin rewrite
c++
extract GLWrap