the library has a bug, and doing recursion in itself?