Added a new (incomplete) implementation using the Stream data structure.