using islice instead of my advance method