finish refactor of streams