Improved read routine.