implement ROP.read_all() etc.