rewrite to be streaming
2.0.0