magic: use array of offset i/o pointers