expose a stream interface