remove legacy codes
add newStream function