Added Stream class based on lazy evaluation