explicitly check for undefined