New version using ES6 Generators
New version using ES6 Generators