input and output stream .. experimental