incomplete version of read related stuff