new interface may be unreadable, raise an appropriate IOError