use input streams

this is still a wip