WIP: figured out how to break recursion.

but now i've added a different source of infinite recursion it seems...