.stream() now defers the add to simplify client code