damn you maximum recursion depth