made read a bit more idiomatic