(range) re-written, avoiding lists.