enumerator with blocks