work on cython
work in progress