avoid "return undef"