diff --git a/punyverse/_cyopengl.pxi b/punyverse/_cyopengl.pxi
index 6316732..70e96bb 100644
--- a/punyverse/_cyopengl.pxi
+++ b/punyverse/_cyopengl.pxi
@@ -387,74 +387,6 @@ cdef extern from "GL/gl.h":
     void glDrawElements(GLenum mode, GLsizei count, GLenum type, GLvoid *indices) nogil
     void glInterleavedArrays(GLenum format, GLsizei stride, GLvoid *pointer) nogil
 
-cdef extern from "stddef.h":
-    ctypedef unsigned int wchar_t
-
-cdef extern from "GL/glu.h":
-    ctypedef struct GLUnurbs:
-        pass
-    ctypedef struct GLUquadric:
-        pass
-    ctypedef struct GLUtesselator:
-        pass
-
-    ctypedef GLUnurbs GLUnurbsObj
-    ctypedef GLUquadric GLUquadricObj
-    ctypedef GLUtesselator GLUtesselatorObj
-    ctypedef GLUtesselator GLUtriangulatorObj
-
-    void gluBeginCurve(GLUnurbs* nurb) nogil
-    void gluBeginPolygon(GLUtesselator* tess) nogil
-    void gluBeginSurface(GLUnurbs* nurb) nogil
-    void gluBeginTrim(GLUnurbs* nurb) nogil
-    GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, void *data) nogil
-    GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, void *data) nogil
-    void gluCylinder(GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks) nogil
-    void gluDeleteNurbsRenderer(GLUnurbs* nurb) nogil
-    void gluDeleteQuadric(GLUquadric* quad) nogil
-    void gluDeleteTess(GLUtesselator* tess) nogil
-    void gluDisk(GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops) nogil
-    void gluEndCurve(GLUnurbs* nurb) nogil
-    void gluEndPolygon(GLUtesselator* tess) nogil
-    void gluEndSurface(GLUnurbs* nurb) nogil
-    void gluEndTrim(GLUnurbs* nurb) nogil
-    GLubyte * gluErrorString(GLenum error)
-    wchar_t * gluErrorUnicodeStringEXT(GLenum error)
-    void gluGetNurbsProperty(GLUnurbs* nurb, GLenum property, GLfloat* data) nogil
-    GLubyte * gluGetString(GLenum name)
-    void gluGetTessProperty(GLUtesselator* tess, GLenum which, GLdouble* data) nogil
-    void gluLoadSamplingMatrices(GLUnurbs* nurb, GLfloat *model, GLfloat *perspective, GLint *view) nogil
-    void gluLookAt(GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ) nogil
-    GLUnurbs* gluNewNurbsRenderer()
-    GLUquadric* gluNewQuadric()
-    GLUtesselator* gluNewTess()
-    void gluNextContour(GLUtesselator* tess, GLenum type) nogil
-    void gluNurbsCurve(GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type) nogil
-    void gluNurbsProperty(GLUnurbs* nurb, GLenum property, GLfloat value) nogil
-    void gluNurbsSurface(GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type) nogil
-    void gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top) nogil
-    void gluPartialDisk(GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep) nogil
-    void gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar) nogil
-    void gluPickMatrix(GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport) nogil
-    GLint gluProject(GLdouble objX, GLdouble objY, GLdouble objZ, GLdouble *model, GLdouble *proj, GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ)
-    void gluPwlCurve(GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type) nogil
-    void gluQuadricDrawStyle(GLUquadric* quad, GLenum draw) nogil
-    void gluQuadricNormals(GLUquadric* quad, GLenum normal) nogil
-    void gluQuadricOrientation(GLUquadric* quad, GLenum orientation) nogil
-    void gluQuadricTexture(GLUquadric* quad, GLboolean texture) nogil
-    GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut) nogil
-    void gluSphere(GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks) nogil
-    void gluTessBeginContour(GLUtesselator* tess) nogil
-    void gluTessBeginPolygon(GLUtesselator* tess, GLvoid* data) nogil
-    void gluTessEndContour(GLUtesselator* tess) nogil
-    void gluTessEndPolygon(GLUtesselator* tess) nogil
-    void gluTessNormal(GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ) nogil
-    void gluTessProperty(GLUtesselator* tess, GLenum which, GLdouble data) nogil
-    void gluTessVertex(GLUtesselator* tess, GLdouble *location, GLvoid* data) nogil
-    GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble *model, GLdouble *proj, GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ)
-    GLint gluUnProject4(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, GLdouble *model, GLdouble *proj, GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW)
-
-
 cdef enum:
     GL_FALSE =                              0x0
     GL_TRUE =                               0x1
@@ -1057,153 +989,3 @@ cdef enum:
     GL_CLIENT_VERTEX_ARRAY_BIT =            0x00000002
     GL_ALL_CLIENT_ATTRIB_BITS =             0xFFFFFFFF
     GL_CLIENT_ALL_ATTRIB_BITS =             0xFFFFFFFF
-
-    # Boolean
-    GLU_FALSE =                        0
-    GLU_TRUE =                         1
-
-    # StringName
-    GLU_VERSION =                      100800
-    GLU_EXTENSIONS =                   100801
-
-    # ErrorCode
-    GLU_INVALID_ENUM =                 100900
-    GLU_INVALID_VALUE =                100901
-    GLU_OUT_OF_MEMORY =                100902
-    GLU_INVALID_OPERATION =            100904
-
-    # NurbsDisplay
-    #      GLU_FILL
-    GLU_OUTLINE_POLYGON =              100240
-    GLU_OUTLINE_PATCH =                100241
-
-    # NurbsError
-    GLU_NURBS_ERROR1 =                 100251
-    GLU_NURBS_ERROR2 =                 100252
-    GLU_NURBS_ERROR3 =                 100253
-    GLU_NURBS_ERROR4 =                 100254
-    GLU_NURBS_ERROR5 =                 100255
-    GLU_NURBS_ERROR6 =                 100256
-    GLU_NURBS_ERROR7 =                 100257
-    GLU_NURBS_ERROR8 =                 100258
-    GLU_NURBS_ERROR9 =                 100259
-    GLU_NURBS_ERROR10 =                100260
-    GLU_NURBS_ERROR11 =                100261
-    GLU_NURBS_ERROR12 =                100262
-    GLU_NURBS_ERROR13 =                100263
-    GLU_NURBS_ERROR14 =                100264
-    GLU_NURBS_ERROR15 =                100265
-    GLU_NURBS_ERROR16 =                100266
-    GLU_NURBS_ERROR17 =                100267
-    GLU_NURBS_ERROR18 =                100268
-    GLU_NURBS_ERROR19 =                100269
-    GLU_NURBS_ERROR20 =                100270
-    GLU_NURBS_ERROR21 =                100271
-    GLU_NURBS_ERROR22 =                100272
-    GLU_NURBS_ERROR23 =                100273
-    GLU_NURBS_ERROR24 =                100274
-    GLU_NURBS_ERROR25 =                100275
-    GLU_NURBS_ERROR26 =                100276
-    GLU_NURBS_ERROR27 =                100277
-    GLU_NURBS_ERROR28 =                100278
-    GLU_NURBS_ERROR29 =                100279
-    GLU_NURBS_ERROR30 =                100280
-    GLU_NURBS_ERROR31 =                100281
-    GLU_NURBS_ERROR32 =                100282
-    GLU_NURBS_ERROR33 =                100283
-    GLU_NURBS_ERROR34 =                100284
-    GLU_NURBS_ERROR35 =                100285
-    GLU_NURBS_ERROR36 =                100286
-    GLU_NURBS_ERROR37 =                100287
-
-    # NurbsProperty
-    GLU_AUTO_LOAD_MATRIX =             100200
-    GLU_CULLING =                      100201
-    GLU_SAMPLING_TOLERANCE =           100203
-    GLU_DISPLAY_MODE =                 100204
-    GLU_PARAMETRIC_TOLERANCE =         100202
-    GLU_SAMPLING_METHOD =              100205
-    GLU_U_STEP =                       100206
-    GLU_V_STEP =                       100207
-
-    # NurbsSampling
-    GLU_PATH_LENGTH =                  100215
-    GLU_PARAMETRIC_ERROR =             100216
-    GLU_DOMAIN_DISTANCE =              100217
-
-    # NurbsTrim
-    GLU_MAP1_TRIM_2 =                  100210
-    GLU_MAP1_TRIM_3 =                  100211
-
-    # QuadricDrawStyle
-    GLU_POINT =                        100010
-    GLU_LINE =                         100011
-    GLU_FILL =                         100012
-    GLU_SILHOUETTE =                   100013
-
-    # QuadricCallback
-    GLU_ERROR =                        100103
-
-    # QuadricNormal
-    GLU_SMOOTH =                       100000
-    GLU_FLAT =                         100001
-    GLU_NONE =                         100002
-
-    # QuadricOrientation
-    GLU_OUTSIDE =                      100020
-    GLU_INSIDE =                       100021
-
-    # TessCallback
-    GLU_TESS_BEGIN =                   100100
-    GLU_BEGIN =                        100100
-    GLU_TESS_VERTEX =                  100101
-    GLU_VERTEX =                       100101
-    GLU_TESS_END =                     100102
-    GLU_END =                          100102
-    GLU_TESS_ERROR =                   100103
-    GLU_TESS_EDGE_FLAG =               100104
-    GLU_EDGE_FLAG =                    100104
-    GLU_TESS_COMBINE =                 100105
-    GLU_TESS_BEGIN_DATA =              100106
-    GLU_TESS_VERTEX_DATA =             100107
-    GLU_TESS_END_DATA =                100108
-    GLU_TESS_ERROR_DATA =              100109
-    GLU_TESS_EDGE_FLAG_DATA =          100110
-    GLU_TESS_COMBINE_DATA =            100111
-
-    # TessContour
-    GLU_CW =                           100120
-    GLU_CCW =                          100121
-    GLU_INTERIOR =                     100122
-    GLU_EXTERIOR =                     100123
-    GLU_UNKNOWN =                      100124
-
-    # TessProperty
-    GLU_TESS_WINDING_RULE =            100140
-    GLU_TESS_BOUNDARY_ONLY =           100141
-    GLU_TESS_TOLERANCE =               100142
-
-    # TessError
-    GLU_TESS_ERROR1 =                  100151
-    GLU_TESS_ERROR2 =                  100152
-    GLU_TESS_ERROR3 =                  100153
-    GLU_TESS_ERROR4 =                  100154
-    GLU_TESS_ERROR5 =                  100155
-    GLU_TESS_ERROR6 =                  100156
-    GLU_TESS_ERROR7 =                  100157
-    GLU_TESS_ERROR8 =                  100158
-    GLU_TESS_MISSING_BEGIN_POLYGON =   100151
-    GLU_TESS_MISSING_BEGIN_CONTOUR =   100152
-    GLU_TESS_MISSING_END_POLYGON =     100153
-    GLU_TESS_MISSING_END_CONTOUR =     100154
-    GLU_TESS_COORD_TOO_LARGE =         100155
-    GLU_TESS_NEED_COMBINE_CALLBACK =   100156
-
-    # TessWinding
-    GLU_TESS_WINDING_ODD =             100130
-    GLU_TESS_WINDING_NONZERO =         100131
-    GLU_TESS_WINDING_POSITIVE =        100132
-    GLU_TESS_WINDING_NEGATIVE =        100133
-    GLU_TESS_WINDING_ABS_GEQ_TWO =     100134
-
-cdef float GLU_TESS_MAX_COORD = 1.0e150
\ No newline at end of file