--- a/mciso.c
+++ b/mciso.c
@@ -193,7 +193,7 @@
 #define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
 #endif
 #if CYTHON_USE_PYLONG_INTERNALS
-  #include "longintrepr.h"
+  #include "Python.h"
   #undef SHIFT
   #undef BASE
   #undef MASK
@@ -313,6 +313,9 @@
 #if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2
   #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
           PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
+#if PY_VERSION_HEX >= 0x03110000
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
+          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos, NULL)
 #else
   #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
--- a/mciso.pyx
+++ b/mciso.pyx
@@ -769,10 +769,10 @@ cpdef isosurface(float res,float isoleve
     cdef int *cyres = [resolution[0],resolution[1],resolution[2]]
     cdef long cellr = <unsigned long>(resolution[0] * resolution[1] * resolution[2])
 
-    print '  Voxel size:',res
-    print '  Minimum BBox:',cyp0[0],cyp0[1],cyp0[2]
-    print '  Maximum BBox:',cyp1[0],cyp1[1],cyp1[2]
-    print '  3D Subdivisions:',cyres[0],cyres[1],cyres[2]
+    #print '  Voxel size:',res
+    #print '  Minimum BBox:',cyp0[0],cyp0[1],cyp0[2]
+    #print '  Maximum BBox:',cyp1[0],cyp1[1],cyp1[2]
+    #print '  3D Subdivisions:',cyres[0],cyres[1],cyres[2]
     
     #print '  RES:',(cyp1[0]-cyp0[0])/cyres[0],(cyp1[1]-cyp0[1])/cyres[1],(cyp1[2]-cyp0[2])/cyres[2]
 
@@ -878,7 +878,7 @@ cpdef isosurface(float res,float isoleve
     cblock = NULL
     cblockmem = 0
     cblocknum = 0
-    print ' Testing isosurface finished'
+    #print ' Testing isosurface finished'
     #print ' send to pyarray:',clock() - timer1,'s'
     return tmptriangles,tmpprops
 
