check for undefined instead of falsy row.source since the empty string is a valid value