out is now a stream (more flexible)