added stream merge