Add lazy evaluation to push arbitrarily large data sets