split out istream_ijsource into common base vs stream only logic