Recursive version of 1.11, not tested