~~ recursion inline test fixed
~~ working state