turns out cython has a bug