more idiomatic style