initial linear implementation of Stream and Node