support only python2.6+
add cdef