properly handle falsy values