replaced executors with recursion