adding stream api WIP