better function name than real_next: cacheless_next