added skeleton for multiplexed i/o