more `undefined` checks