why `undefined`?