added basis for async iterator