add (untested) read/write using interrupt transfers