<?xml version="1.0" encoding="utf-8"?>
<informationTable xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sec.gov/edgar/document/thirteenf/informationtable">
  <infoTable>
    <nameOfIssuer>Amazon</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>023135106</cusip>
    <value>27612642</value>
    <shrsOrPrnAmt>
      <sshPrnamt>115854</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>115854</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Johnson &amp; Johnson</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>478160104</cusip>
    <value>47306353</value>
    <shrsOrPrnAmt>
      <sshPrnamt>186267</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>186267</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Waste Management</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>94106L109</cusip>
    <value>1398572</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6275</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6275</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Sabine Royalty Trust</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>785688102</cusip>
    <value>1024800</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Procter &amp; Gamble</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>742718109</cusip>
    <value>31896726</value>
    <shrsOrPrnAmt>
      <sshPrnamt>217517</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>217517</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Coca-Cola</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>191216100</cusip>
    <value>35798981</value>
    <shrsOrPrnAmt>
      <sshPrnamt>440494</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>440494</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Enterprise Products</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>293792107</cusip>
    <value>258055</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7020</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7020</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>United Parcel Service</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>911312106</cusip>
    <value>326667</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3039</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3038</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Medtronic</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>G5960L103</cusip>
    <value>485261</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6203</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6203</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Netflix</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>64110L106</cusip>
    <value>714643</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10009</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10009</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Paccar</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>693718108</cusip>
    <value>46184831</value>
    <shrsOrPrnAmt>
      <sshPrnamt>384489</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>384489</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR S&amp;P 500 ETF Trust</nameOfIssuer>
    <titleOfClass>ETF</titleOfClass>
    <cusip>78462F103</cusip>
    <value>3149876</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4218</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4218</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Mastercard</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>57636Q104</cusip>
    <value>1307112</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2545</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2545</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Illinois Tool Works</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>452308109</cusip>
    <value>50048735</value>
    <shrsOrPrnAmt>
      <sshPrnamt>185044</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>185043</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Nordson</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>655663102</cusip>
    <value>70547247</value>
    <shrsOrPrnAmt>
      <sshPrnamt>233840</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>233840</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Emerson Electric</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>291011104</cusip>
    <value>40486501</value>
    <shrsOrPrnAmt>
      <sshPrnamt>282826</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>282825</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FedEx</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>31428X106</cusip>
    <value>1428667</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4563</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4562</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Pepsico</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>713448108</cusip>
    <value>2111117</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15592</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15591</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Black Stone Minerals</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>09225M101</cusip>
    <value>1676218</value>
    <shrsOrPrnAmt>
      <sshPrnamt>119987</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>119987</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Honeywell</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>438516205</cusip>
    <value>15296288</value>
    <shrsOrPrnAmt>
      <sshPrnamt>68318</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>68317</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Home Depot</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>437076102</cusip>
    <value>380375</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1079</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1078</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Automatic Data Processing</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>053015103</cusip>
    <value>43077067</value>
    <shrsOrPrnAmt>
      <sshPrnamt>192351</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>192351</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR Gold Shares</nameOfIssuer>
    <titleOfClass>ETF</titleOfClass>
    <cusip>78463V107</cusip>
    <value>345909</value>
    <shrsOrPrnAmt>
      <sshPrnamt>939</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>939</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Becton Dickinson</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>075887109</cusip>
    <value>416006</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2749</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2749</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Stellar Bancorp</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>858927106</cusip>
    <value>1825195</value>
    <shrsOrPrnAmt>
      <sshPrnamt>46419</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>46419</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Alphabet Class A</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>02079K305</cusip>
    <value>2628814</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7356</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7356</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Intuit</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>461202103</cusip>
    <value>10471621</value>
    <shrsOrPrnAmt>
      <sshPrnamt>40121</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>40121</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Microsoft</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>594918104</cusip>
    <value>110358430</value>
    <shrsOrPrnAmt>
      <sshPrnamt>295851</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>295851</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Vanguard Information Technology ETF</nameOfIssuer>
    <titleOfClass>ETF</titleOfClass>
    <cusip>92204A702</cusip>
    <value>438638</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3670</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3670</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Amphenol</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>032095101</cusip>
    <value>70841596</value>
    <shrsOrPrnAmt>
      <sshPrnamt>401779</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>401778</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Alcon</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>H01301128</cusip>
    <value>17823750</value>
    <shrsOrPrnAmt>
      <sshPrnamt>265588</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>265588</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Eli Lilly</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>532457108</cusip>
    <value>898373</value>
    <shrsOrPrnAmt>
      <sshPrnamt>749</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>749</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Air Products &amp; Chemicals</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>009158106</cusip>
    <value>19421261</value>
    <shrsOrPrnAmt>
      <sshPrnamt>66243</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>66243</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Duke Energy</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>26441C204</cusip>
    <value>786442</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6213</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6213</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Sysco</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>871829107</cusip>
    <value>773263</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9252</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9251</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Berkshire Hathaway Class B</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>084670702</cusip>
    <value>12582807</value>
    <shrsOrPrnAmt>
      <sshPrnamt>25146</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>25146</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Phillips 66</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>718546104</cusip>
    <value>461507</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2730</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2730</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Zebra Technologies</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>989207105</cusip>
    <value>15098488</value>
    <shrsOrPrnAmt>
      <sshPrnamt>57352</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>57352</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Meta Platforms</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>30303M102</cusip>
    <value>316579</value>
    <shrsOrPrnAmt>
      <sshPrnamt>562</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>562</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Texas Capital Bancshares</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>88224Q107</cusip>
    <value>361410</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3500</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3500</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Broadcom</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>11135F101</cusip>
    <value>792142</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2097</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2097</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Novartis</nameOfIssuer>
    <titleOfClass>ADR</titleOfClass>
    <cusip>66987V109</cusip>
    <value>521094</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3325</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3325</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Accenture</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>G1151C101</cusip>
    <value>6379665</value>
    <shrsOrPrnAmt>
      <sshPrnamt>51267</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>51267</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Nvidia</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>67066G104</cusip>
    <value>3049172</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15239</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15239</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WW Grainger</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>384802104</cusip>
    <value>2489532</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1830</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1830</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Abbvie</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>00287Y109</cusip>
    <value>3037039</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12069</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12068</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Taiwan Semiconductor</nameOfIssuer>
    <titleOfClass>ADR</titleOfClass>
    <cusip>874039100</cusip>
    <value>130623991</value>
    <shrsOrPrnAmt>
      <sshPrnamt>273518</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>273518</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Stryker</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>863667101</cusip>
    <value>21317133</value>
    <shrsOrPrnAmt>
      <sshPrnamt>67708</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>67707</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Intuitive Surgical</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>46120E602</cusip>
    <value>27328172</value>
    <shrsOrPrnAmt>
      <sshPrnamt>68719</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>68719</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>McDonalds</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>580135101</cusip>
    <value>374109</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1384</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1384</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Dover</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>260003108</cusip>
    <value>48190315</value>
    <shrsOrPrnAmt>
      <sshPrnamt>214867</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>214866</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Cisco Systems</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>17275R102</cusip>
    <value>201326</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1714</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1714</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Advanced Micro Devices</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>007903107</cusip>
    <value>321243</value>
    <shrsOrPrnAmt>
      <sshPrnamt>553</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>553</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Nokia ADR</nameOfIssuer>
    <titleOfClass>ADR</titleOfClass>
    <cusip>654902204</cusip>
    <value>176863</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13318</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13318</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Cintas</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>172908105</cusip>
    <value>30284102</value>
    <shrsOrPrnAmt>
      <sshPrnamt>178058</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>178057</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Donaldson</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>257651109</cusip>
    <value>49681143</value>
    <shrsOrPrnAmt>
      <sshPrnamt>553427</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>553427</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Ecolab</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>278865100</cusip>
    <value>45794151</value>
    <shrsOrPrnAmt>
      <sshPrnamt>164367</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>164366</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Republic Services</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>760759100</cusip>
    <value>11816351</value>
    <shrsOrPrnAmt>
      <sshPrnamt>55455</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>55455</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Thermo Fisher Scientific</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>883556102</cusip>
    <value>17713010</value>
    <shrsOrPrnAmt>
      <sshPrnamt>35330</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>35329</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Dorchester Minerals</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>25820R105</cusip>
    <value>1323681</value>
    <shrsOrPrnAmt>
      <sshPrnamt>52423</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>52423</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JPMorganChase</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>46625H100</cusip>
    <value>278558</value>
    <shrsOrPrnAmt>
      <sshPrnamt>851</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>851</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Chevron Corp</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>166764100</cusip>
    <value>1693741</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10218</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10218</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Conocophillips</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>20825C104</cusip>
    <value>443285</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4264</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4264</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Bank America</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>060505104</cusip>
    <value>225935</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3965</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3965</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>First Financial Bankshares</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>32020R109</cusip>
    <value>253826</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7336</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7336</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Walmart</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>931142103</cusip>
    <value>293004</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2587</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2587</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>IBM</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>459200101</cusip>
    <value>559045</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1988</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1988</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Texas Instruments</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>882508104</cusip>
    <value>28143920</value>
    <shrsOrPrnAmt>
      <sshPrnamt>94421</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>94420</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>3M</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>88579Y101</cusip>
    <value>395870</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2445</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2445</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Alphabet Class C</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>02079K107</cusip>
    <value>1115463</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3157</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3157</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Amgen</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>031162100</cusip>
    <value>284988</value>
    <shrsOrPrnAmt>
      <sshPrnamt>787</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>787</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>San Juan Basin Royalty Trust</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>798241105</cusip>
    <value>1021024</value>
    <shrsOrPrnAmt>
      <sshPrnamt>318076</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>318076</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Eaton</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>G29183103</cusip>
    <value>22828101</value>
    <shrsOrPrnAmt>
      <sshPrnamt>53572</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>53572</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Lam Research</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>512807306</cusip>
    <value>5849955</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13500</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13500</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FedEx Freight </nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>314352105</cusip>
    <value>351075</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2325</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2325</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Honeywell Aerospace</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>43849R105</cusip>
    <value>15119551</value>
    <shrsOrPrnAmt>
      <sshPrnamt>68390</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>68389</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Bristol-Myers Squibb</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>110122108</cusip>
    <value>433245</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7519</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7519</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Exxon Mobil</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>30233Q108</cusip>
    <value>7926118</value>
    <shrsOrPrnAmt>
      <sshPrnamt>57973</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>57973</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Lowes</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>548661107</cusip>
    <value>482315</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2187</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2187</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Apple</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>037833100</cusip>
    <value>101233650</value>
    <shrsOrPrnAmt>
      <sshPrnamt>349854</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>349853</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Abbott Labs</nameOfIssuer>
    <titleOfClass>Stock</titleOfClass>
    <cusip>002824100</cusip>
    <value>1205085</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13281</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13280</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
</informationTable>
