anchor.diff:    (glu-tess-end-contour (glu-tessellator tess)))
   
   (defmethod tess-end-polygon ((tess tessellator))
  -  (glu-tess-end-polygon (glu-tessellator tess))
  -  (free-tess-data tess))
  +  (glu-tess-end-polygon (glu-tessellator tess)))
  +;;  (free-tess-data tess))
   
   (defmethod tess-property ((tess tessellator) which value)
     (glu-tess-property (glu-tessellator tess) which value))
  
positive.code:                      when (eq value polygon-data)
                       return key)
                    (hash-table-count (polygon-data tess)))
                -1)) ;;use -1 when no polygon-data is used
           ;;todo this still doesn't work
           (foreign-key (foreign-alloc :int :initial-contents (list (id tess) polygon-data-id))))
      (setf (gethash polygon-data-id (polygon-data tess)) polygon-data)
      (save-data-to-free foreign-key tess)
      (glu-tess-begin-polygon (glu-tessellator tess) foreign-key)))
  
  
negative.code:           (register-callbacks obj)))))
  
  (defmethod tess-delete ((tess tessellator))
    (remhash (id tess) *tessellators*)
    (free-tess-data tess)
    (glu-delete-tess (glu-tessellator tess)))
  
  (defmethod tess-begin-polygon ((tess tessellator) &optional (polygon-data nil))
    (let* ((polygon-data-id 
  