All possible permutations
Refactored to new ExecutionContext