as a IO stream