add eisner implemented by cython