refactoring streams through smushers