<informationTable xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sec.gov/edgar/document/thirteenf/informationtable">
  <infoTable>
    <nameOfIssuer>3M Company</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>88579Y101</cusip>
    <value>1664</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10667</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>10467</Sole>
      <Shared>0</Shared>
      <None>200</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMN Healthcare Services</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>001744101</cusip>
    <value>780</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17239</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>17239</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Abbvie</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00287Y109</cusip>
    <value>2012</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20489</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>19189</Sole>
      <Shared>0</Shared>
      <None>1300</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Accenture</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>G1151C101</cusip>
    <value>4210</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19606</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>18450</Sole>
      <Shared>0</Shared>
      <None>1156</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Adobe Systems</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00724F101</cusip>
    <value>7527</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17290</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>16065</Sole>
      <Shared>0</Shared>
      <None>1225</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Alphabet Class A</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>02079K305</cusip>
    <value>7765</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5476</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>5052</Sole>
      <Shared>0</Shared>
      <None>424</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Alphabet Class C</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>02079K107</cusip>
    <value>519</value>
    <shrsOrPrnAmt>
      <sshPrnamt>367</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>321</Sole>
      <Shared>0</Shared>
      <None>46</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Altria Group</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>02209S103</cusip>
    <value>1586</value>
    <shrsOrPrnAmt>
      <sshPrnamt>40411</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>39736</Sole>
      <Shared>0</Shared>
      <None>675</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Amazon.com</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>023135106</cusip>
    <value>11433</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4144</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>3871</Sole>
      <Shared>0</Shared>
      <None>273</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>American Express</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>025816109</cusip>
    <value>15958</value>
    <shrsOrPrnAmt>
      <sshPrnamt>167622</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>167622</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>American Intl Group</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>026874784</cusip>
    <value>9925</value>
    <shrsOrPrnAmt>
      <sshPrnamt>318312</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>318312</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>American Tower</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>03027X100</cusip>
    <value>6787</value>
    <shrsOrPrnAmt>
      <sshPrnamt>26251</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>24403</Sole>
      <Shared>0</Shared>
      <None>1848</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Amgen</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>031162100</cusip>
    <value>1647</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6985</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>6860</Sole>
      <Shared>0</Shared>
      <None>125</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Amphenol</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>032095101</cusip>
    <value>3847</value>
    <shrsOrPrnAmt>
      <sshPrnamt>40148</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>37312</Sole>
      <Shared>0</Shared>
      <None>2836</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Ansys</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>03662Q105</cusip>
    <value>1522</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5218</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>5218</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Apple</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>037833100</cusip>
    <value>9100</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24946</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>23034</Sole>
      <Shared>0</Shared>
      <None>1912</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Aspen Technology</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>045327103</cusip>
    <value>1647</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15893</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>15893</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BP PLC </nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>055622104</cusip>
    <value>10022</value>
    <shrsOrPrnAmt>
      <sshPrnamt>429779</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>429779</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Bank of America</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>060505104</cusip>
    <value>14331</value>
    <shrsOrPrnAmt>
      <sshPrnamt>603412</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>603412</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Becton Dickinson</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>075887109</cusip>
    <value>9895</value>
    <shrsOrPrnAmt>
      <sshPrnamt>41355</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>41260</Sole>
      <Shared>0</Shared>
      <None>95</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Berkshire Hathaway B</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>084670702</cusip>
    <value>14115</value>
    <shrsOrPrnAmt>
      <sshPrnamt>79074</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>79074</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BioMarin Pharmaceutical</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>09061G101</cusip>
    <value>6669</value>
    <shrsOrPrnAmt>
      <sshPrnamt>54070</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>50789</Sole>
      <Shared>0</Shared>
      <None>3281</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Blackstone Group</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>09260D107</cusip>
    <value>1829</value>
    <shrsOrPrnAmt>
      <sshPrnamt>32274</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>30224</Sole>
      <Shared>0</Shared>
      <None>2050</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Bristol Myers Squibb </nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>110122108</cusip>
    <value>9855</value>
    <shrsOrPrnAmt>
      <sshPrnamt>167594</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>167594</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CVS Health</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>126650100</cusip>
    <value>1607</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24727</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>24252</Sole>
      <Shared>0</Shared>
      <None>475</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Catalent</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>148806102</cusip>
    <value>1719</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23447</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>22447</Sole>
      <Shared>0</Shared>
      <None>1000</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Centene</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>15135B101</cusip>
    <value>5131</value>
    <shrsOrPrnAmt>
      <sshPrnamt>80736</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>75647</Sole>
      <Shared>0</Shared>
      <None>5089</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Chubb Limited</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>H1467J104</cusip>
    <value>12079</value>
    <shrsOrPrnAmt>
      <sshPrnamt>95393</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>95393</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Church &amp; Dwight</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>171340102</cusip>
    <value>1005</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12995</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>12995</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Cisco Systems</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>17275R102</cusip>
    <value>17521</value>
    <shrsOrPrnAmt>
      <sshPrnamt>375656</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>375656</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Cooper Companies</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>216648402</cusip>
    <value>4497</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15855</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>15088</Sole>
      <Shared>0</Shared>
      <None>767</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Copart</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>217204106</cusip>
    <value>4659</value>
    <shrsOrPrnAmt>
      <sshPrnamt>55956</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>52967</Sole>
      <Shared>0</Shared>
      <None>2989</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CoreSite Realty</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>21870Q105</cusip>
    <value>1655</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13674</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>13424</Sole>
      <Shared>0</Shared>
      <None>250</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Crown Castle International</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>22822V101</cusip>
    <value>1680</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10041</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>9866</Sole>
      <Shared>0</Shared>
      <None>175</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Cummins</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>231021106</cusip>
    <value>1870</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10795</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>10595</Sole>
      <Shared>0</Shared>
      <None>200</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CyberArk Software</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>M2682V108</cusip>
    <value>1628</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16396</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>15946</Sole>
      <Shared>0</Shared>
      <None>450</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Danaher</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>235851102</cusip>
    <value>6544</value>
    <shrsOrPrnAmt>
      <sshPrnamt>37007</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>34504</Sole>
      <Shared>0</Shared>
      <None>2503</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Dow Inc.</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>260557103</cusip>
    <value>5630</value>
    <shrsOrPrnAmt>
      <sshPrnamt>138127</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>138127</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DuPont de Nemours</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>26614N102</cusip>
    <value>14739</value>
    <shrsOrPrnAmt>
      <sshPrnamt>277409</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>277409</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Dunkin' Brands</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>265504100</cusip>
    <value>1284</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19687</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>19687</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Eaton</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>G29183103</cusip>
    <value>14958</value>
    <shrsOrPrnAmt>
      <sshPrnamt>170993</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>170993</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Ecolab</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>278865100</cusip>
    <value>323</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1623</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>1518</Sole>
      <Shared>0</Shared>
      <None>105</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Enbridge</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>29250N105</cusip>
    <value>1433</value>
    <shrsOrPrnAmt>
      <sshPrnamt>47113</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>45288</Sole>
      <Shared>0</Shared>
      <None>1825</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Facebook Inc-A</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>30303M102</cusip>
    <value>4229</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18626</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>17277</Sole>
      <Shared>0</Shared>
      <None>1349</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Fiserv</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>337738108</cusip>
    <value>5705</value>
    <shrsOrPrnAmt>
      <sshPrnamt>58437</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>54553</Sole>
      <Shared>0</Shared>
      <None>3884</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>General Dynamics Corp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>369550108</cusip>
    <value>9844</value>
    <shrsOrPrnAmt>
      <sshPrnamt>65861</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>65861</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Genmab ADR</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>372303206</cusip>
    <value>5309</value>
    <shrsOrPrnAmt>
      <sshPrnamt>156640</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>145783</Sole>
      <Shared>0</Shared>
      <None>10857</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Gilead Sciences</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>375558103</cusip>
    <value>1333</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17319</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>17019</Sole>
      <Shared>0</Shared>
      <None>300</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Halozyme Therapeutics</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>40637H109</cusip>
    <value>1262</value>
    <shrsOrPrnAmt>
      <sshPrnamt>47074</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>47074</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Hexcel</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>428291108</cusip>
    <value>1154</value>
    <shrsOrPrnAmt>
      <sshPrnamt>25514</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>25514</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Home Depot</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>437076102</cusip>
    <value>2142</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8551</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>8101</Sole>
      <Shared>0</Shared>
      <None>450</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Honeywell</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>438516106</cusip>
    <value>9855</value>
    <shrsOrPrnAmt>
      <sshPrnamt>68160</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>68160</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>IBM Corp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>459200101</cusip>
    <value>14528</value>
    <shrsOrPrnAmt>
      <sshPrnamt>120295</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>120045</Sole>
      <Shared>0</Shared>
      <None>250</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ICF International</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>44925C103</cusip>
    <value>973</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15010</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>15010</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>IPG Photonics</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>44980X109</cusip>
    <value>995</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6202</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>6202</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Idexx Laboratories</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>45168D104</cusip>
    <value>4295</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13010</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>12160</Sole>
      <Shared>0</Shared>
      <None>850</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Intel</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>458140100</cusip>
    <value>15528</value>
    <shrsOrPrnAmt>
      <sshPrnamt>259543</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>259543</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JPMorgan Chase</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>46625H100</cusip>
    <value>13391</value>
    <shrsOrPrnAmt>
      <sshPrnamt>142362</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>141150</Sole>
      <Shared>0</Shared>
      <None>1212</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Jack Henry &amp; Associates</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>426281101</cusip>
    <value>1424</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7736</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>7736</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Johnson &amp; Johnson</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>478160104</cusip>
    <value>15837</value>
    <shrsOrPrnAmt>
      <sshPrnamt>112614</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>112614</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Kraft Heinz</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>500754106</cusip>
    <value>14802</value>
    <shrsOrPrnAmt>
      <sshPrnamt>464154</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>464154</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Lockheed Martin</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>539830109</cusip>
    <value>1407</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3856</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>3856</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Loews</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>540424108</cusip>
    <value>12785</value>
    <shrsOrPrnAmt>
      <sshPrnamt>372855</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>372855</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Lonza Group ADR</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>54338V101</cusip>
    <value>6839</value>
    <shrsOrPrnAmt>
      <sshPrnamt>129067</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>121946</Sole>
      <Shared>0</Shared>
      <None>7121</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LyondellBasell Industries</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>N53745100</cusip>
    <value>1693</value>
    <shrsOrPrnAmt>
      <sshPrnamt>25757</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>24057</Sole>
      <Shared>0</Shared>
      <None>1700</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MKS Instruments</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>55306N104</cusip>
    <value>1115</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9847</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>9847</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Marsh &amp; McLennan</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>571748102</cusip>
    <value>17302</value>
    <shrsOrPrnAmt>
      <sshPrnamt>161143</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>161143</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Mastercard</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>57636Q104</cusip>
    <value>203</value>
    <shrsOrPrnAmt>
      <sshPrnamt>687</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>482</Sole>
      <Shared>0</Shared>
      <None>205</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>McDonalds</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>580135101</cusip>
    <value>1681</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9111</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>8561</Sole>
      <Shared>0</Shared>
      <None>550</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Merck</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>58933Y105</cusip>
    <value>1172</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15154</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>14049</Sole>
      <Shared>0</Shared>
      <None>1105</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Mettler Toledo</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>592688105</cusip>
    <value>1312</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1629</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>1629</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Microsoft</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>594918104</cusip>
    <value>8973</value>
    <shrsOrPrnAmt>
      <sshPrnamt>44092</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>40595</Sole>
      <Shared>0</Shared>
      <None>3497</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Monolithic Power System</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>609839105</cusip>
    <value>1562</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6589</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>6589</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Motorola Solutions</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>620076307</cusip>
    <value>3662</value>
    <shrsOrPrnAmt>
      <sshPrnamt>26132</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>24418</Sole>
      <Shared>0</Shared>
      <None>1714</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Myovant Sciences</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>G637AM102</cusip>
    <value>1073</value>
    <shrsOrPrnAmt>
      <sshPrnamt>52044</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>52044</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Nike</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>654106103</cusip>
    <value>4630</value>
    <shrsOrPrnAmt>
      <sshPrnamt>47222</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>43098</Sole>
      <Shared>0</Shared>
      <None>4124</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>O'Reilly Automotive</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>67103H107</cusip>
    <value>4907</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11636</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>10922</Sole>
      <Shared>0</Shared>
      <None>714</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Omnicell</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>68213N109</cusip>
    <value>921</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13042</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>13042</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PRA Group</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>69354N106</cusip>
    <value>1377</value>
    <shrsOrPrnAmt>
      <sshPrnamt>35623</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>35623</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Phillips 66</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>718546104</cusip>
    <value>1799</value>
    <shrsOrPrnAmt>
      <sshPrnamt>25015</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>24565</Sole>
      <Shared>0</Shared>
      <None>450</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Pool</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>73278l105</cusip>
    <value>1762</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6482</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>6482</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Prudential Financial</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>744320102</cusip>
    <value>1664</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27323</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>26973</Sole>
      <Shared>0</Shared>
      <None>350</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Qualcomm</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>747525103</cusip>
    <value>2042</value>
    <shrsOrPrnAmt>
      <sshPrnamt>22385</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>20985</Sole>
      <Shared>0</Shared>
      <None>1400</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Qualys</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>74758T303</cusip>
    <value>1974</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18975</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>18975</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Rocket Pharmaceuticals</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>77313F106</cusip>
    <value>1017</value>
    <shrsOrPrnAmt>
      <sshPrnamt>48577</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>48577</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Roper Technologies</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>776696106</cusip>
    <value>5918</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15242</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>14215</Sole>
      <Shared>0</Shared>
      <None>1027</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Royal Dutch Shell Class A</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>780259206</cusip>
    <value>9079</value>
    <shrsOrPrnAmt>
      <sshPrnamt>277739</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>277739</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SBA Communications</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>78410G104</cusip>
    <value>1727</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5798</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>5743</Sole>
      <Shared>0</Shared>
      <None>55</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Sherwin-Williams</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>824348106</cusip>
    <value>4647</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8042</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>7442</Sole>
      <Shared>0</Shared>
      <None>600</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Starbucks</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>855244109</cusip>
    <value>294</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>4000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Sysco</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>871829107</cusip>
    <value>10641</value>
    <shrsOrPrnAmt>
      <sshPrnamt>194681</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>194681</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Teladoc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>87918A105</cusip>
    <value>1823</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9552</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>9552</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UnitedHealth Group</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>91324P102</cusip>
    <value>13203</value>
    <shrsOrPrnAmt>
      <sshPrnamt>44763</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>44727</Sole>
      <Shared>0</Shared>
      <None>36</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Verisk Analytics</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>92345Y106</cusip>
    <value>5657</value>
    <shrsOrPrnAmt>
      <sshPrnamt>33235</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>30674</Sole>
      <Shared>0</Shared>
      <None>2561</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Verra Mobility</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>92511U102</cusip>
    <value>835</value>
    <shrsOrPrnAmt>
      <sshPrnamt>81262</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>81262</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Visa</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>92826C839</cusip>
    <value>6451</value>
    <shrsOrPrnAmt>
      <sshPrnamt>33395</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>30523</Sole>
      <Shared>0</Shared>
      <None>2872</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Walt Disney</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>254687106</cusip>
    <value>8749</value>
    <shrsOrPrnAmt>
      <sshPrnamt>78455</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>78455</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Zebra Technologies</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>989207105</cusip>
    <value>1406</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5492</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>5292</Sole>
      <Shared>0</Shared>
      <None>200</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>iShares Russell 1000 Growth</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>464287614</cusip>
    <value>472</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2461</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>2461</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
</informationTable>
