crazy recursion stuff happening
scripted update of code from master at 7d91b18 crazy recursion stuff happening