structural changes for even realer IO