ES6 practice, generators, iterators etc..