oh its not that bad. there are two types of streams there. seems like a writable stream only needs write and pipe