relocate i/o-source
cleanup
further cleanup