fixed do/read