abstracted IOBus