base stream implementation, rename to 'manifold'