continuation based generator implemented