make it more idiomatic