idiomatic return values