make feeder connection a IO, implement move constructor, and fix doread/dowrite interfaces