<informationTable xmlns="http://www.sec.gov/edgar/document/thirteenf/informationtable" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <infoTable>
       <nameOfIssuer>AMN Healthcare Services</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>001744101</cusip>
       <value>887</value>
       <shrsOrPrnAmt>
           <sshPrnamt>16224</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>16224</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>AbbVie</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>00287Y109</cusip>
       <value>1935</value>
       <shrsOrPrnAmt>
           <sshPrnamt>20459</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>17834</Sole>
           <Shared>0</Shared>
           <None>2625</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Accenture</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>G1151C101</cusip>
       <value>17193</value>
       <shrsOrPrnAmt>
           <sshPrnamt>101014</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>100641</Sole>
           <Shared>0</Shared>
           <None>373</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Adobe Systems</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>00724F101</cusip>
       <value>21529</value>
       <shrsOrPrnAmt>
           <sshPrnamt>79751</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>79048</Sole>
           <Shared>0</Shared>
           <None>703</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Affiliated Managers Group</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>008252108</cusip>
       <value>658</value>
       <shrsOrPrnAmt>
           <sshPrnamt>4810</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>4810</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Albemarle</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>012653101</cusip>
       <value>13905</value>
       <shrsOrPrnAmt>
           <sshPrnamt>139358</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>139218</Sole>
           <Shared>0</Shared>
           <None>140</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Alphabet Class A</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>02079K305</cusip>
       <value>21120</value>
       <shrsOrPrnAmt>
           <sshPrnamt>17497</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>17225</Sole>
           <Shared>0</Shared>
           <None>272</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Alphabet Class C</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>02079K107</cusip>
       <value>504</value>
       <shrsOrPrnAmt>
           <sshPrnamt>422</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>422</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Amazon.com</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>023135106</cusip>
       <value>1705</value>
       <shrsOrPrnAmt>
           <sshPrnamt>851</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>796</Sole>
           <Shared>0</Shared>
           <None>55</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>American Express</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>025816109</cusip>
       <value>22063</value>
       <shrsOrPrnAmt>
           <sshPrnamt>207184</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>207184</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>American Intl Group</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>026874784</cusip>
       <value>14514</value>
       <shrsOrPrnAmt>
           <sshPrnamt>272622</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>272622</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>American Tower</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>03027X100</cusip>
       <value>21236</value>
       <shrsOrPrnAmt>
           <sshPrnamt>146150</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>145127</Sole>
           <Shared>0</Shared>
           <None>1023</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Amgen</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>031162100</cusip>
       <value>2413</value>
       <shrsOrPrnAmt>
           <sshPrnamt>11641</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>10591</Sole>
           <Shared>0</Shared>
           <None>1050</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Amphenol</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>032095101</cusip>
       <value>17436</value>
       <shrsOrPrnAmt>
           <sshPrnamt>185454</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>183713</Sole>
           <Shared>0</Shared>
           <None>1741</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Ansys</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>03662Q105</cusip>
       <value>1045</value>
       <shrsOrPrnAmt>
           <sshPrnamt>5597</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>5597</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Apple</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>037833100</cusip>
       <value>29270</value>
       <shrsOrPrnAmt>
           <sshPrnamt>129661</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>128032</Sole>
           <Shared>0</Shared>
           <None>1629</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Aspen Technology</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>045327103</cusip>
       <value>1736</value>
       <shrsOrPrnAmt>
           <sshPrnamt>15238</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>14238</Sole>
           <Shared>0</Shared>
           <None>1000</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>BP PLC</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>055622104</cusip>
       <value>19878</value>
       <shrsOrPrnAmt>
           <sshPrnamt>431188</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>431188</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Bank of America</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>060505104</cusip>
       <value>22219</value>
       <shrsOrPrnAmt>
           <sshPrnamt>754194</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>754194</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Becton Dickinson</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>075887109</cusip>
       <value>10834</value>
       <shrsOrPrnAmt>
           <sshPrnamt>41508</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>41508</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Berkshire Hathaway B</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>084670702</cusip>
       <value>15316</value>
       <shrsOrPrnAmt>
           <sshPrnamt>71533</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>70633</Sole>
           <Shared>0</Shared>
           <None>900</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>BioMarin Pharmaceuticals</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>09061G101</cusip>
       <value>23008</value>
       <shrsOrPrnAmt>
           <sshPrnamt>237271</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>235674</Sole>
           <Shared>0</Shared>
           <None>1597</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>BlackRock</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>09247X101</cusip>
       <value>11230</value>
       <shrsOrPrnAmt>
           <sshPrnamt>23827</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>23804</Sole>
           <Shared>0</Shared>
           <None>23</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Boeing</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>097023105</cusip>
       <value>1840</value>
       <shrsOrPrnAmt>
           <sshPrnamt>4948</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>4248</Sole>
           <Shared>0</Shared>
           <None>700</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Centene Corporation</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>15135B101</cusip>
       <value>20511</value>
       <shrsOrPrnAmt>
           <sshPrnamt>141673</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>140352</Sole>
           <Shared>0</Shared>
           <None>1321</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Cerner</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>156782104</cusip>
       <value>17586</value>
       <shrsOrPrnAmt>
           <sshPrnamt>273026</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>272732</Sole>
           <Shared>0</Shared>
           <None>294</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Charles Schwab</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>808513105</cusip>
       <value>20840</value>
       <shrsOrPrnAmt>
           <sshPrnamt>424003</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>421306</Sole>
           <Shared>0</Shared>
           <None>2697</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Check Point Tech Software</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>M22465104</cusip>
       <value>13769</value>
       <shrsOrPrnAmt>
           <sshPrnamt>117016</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>116894</Sole>
           <Shared>0</Shared>
           <None>122</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Chubb Limited</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>H1467J104</cusip>
       <value>12858</value>
       <shrsOrPrnAmt>
           <sshPrnamt>96212</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>96212</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Church &amp; Dwight</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>171340102</cusip>
       <value>903</value>
       <shrsOrPrnAmt>
           <sshPrnamt>15215</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>15215</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Cisco Systems</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>17275R102</cusip>
       <value>25836</value>
       <shrsOrPrnAmt>
           <sshPrnamt>531055</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>525555</Sole>
           <Shared>0</Shared>
           <None>5500</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Cooper Companies</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>216648402</cusip>
       <value>27497</value>
       <shrsOrPrnAmt>
           <sshPrnamt>99212</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>98638</Sole>
           <Shared>0</Shared>
           <None>574</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Copart</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>217204106</cusip>
       <value>1046</value>
       <shrsOrPrnAmt>
           <sshPrnamt>20299</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>20299</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Core Laboratories</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>N22717107</cusip>
       <value>856</value>
       <shrsOrPrnAmt>
           <sshPrnamt>7394</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>7394</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Cummins</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>231021106</cusip>
       <value>2251</value>
       <shrsOrPrnAmt>
           <sshPrnamt>15410</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>13385</Sole>
           <Shared>0</Shared>
           <None>2025</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Danaher</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>235851102</cusip>
       <value>23502</value>
       <shrsOrPrnAmt>
           <sshPrnamt>216290</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>215222</Sole>
           <Shared>0</Shared>
           <None>1068</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>DowDupont Inc.</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>26078J100</cusip>
       <value>11796</value>
       <shrsOrPrnAmt>
           <sshPrnamt>183417</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>183417</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Dunkin&apos; Brands</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>265504100</cusip>
       <value>1130</value>
       <shrsOrPrnAmt>
           <sshPrnamt>15322</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>15322</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Dycom Industries</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>267475101</cusip>
       <value>1057</value>
       <shrsOrPrnAmt>
           <sshPrnamt>12499</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>12499</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>EOG Resources</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>26875P101</cusip>
       <value>14512</value>
       <shrsOrPrnAmt>
           <sshPrnamt>113757</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>112341</Sole>
           <Shared>0</Shared>
           <None>1416</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Eaton</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>G29183103</cusip>
       <value>14982</value>
       <shrsOrPrnAmt>
           <sshPrnamt>172744</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>172744</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Ecolab</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>278865100</cusip>
       <value>235</value>
       <shrsOrPrnAmt>
           <sshPrnamt>1500</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>1500</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Enbridge</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>29250N105</cusip>
       <value>14701</value>
       <shrsOrPrnAmt>
           <sshPrnamt>455283</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>447541</Sole>
           <Shared>0</Shared>
           <None>7742</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Enstar Group</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>G3075P101</cusip>
       <value>798</value>
       <shrsOrPrnAmt>
           <sshPrnamt>3826</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>3826</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Exxon Mobil</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>30231G102</cusip>
       <value>2389</value>
       <shrsOrPrnAmt>
           <sshPrnamt>28097</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>23947</Sole>
           <Shared>0</Shared>
           <None>4150</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Facebook Inc-A</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>30303M102</cusip>
       <value>15174</value>
       <shrsOrPrnAmt>
           <sshPrnamt>92268</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>91529</Sole>
           <Shared>0</Shared>
           <None>739</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Fiserv</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>337738108</cusip>
       <value>23989</value>
       <shrsOrPrnAmt>
           <sshPrnamt>291195</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>289695</Sole>
           <Shared>0</Shared>
           <None>1500</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>General Electric</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>369604103</cusip>
       <value>8630</value>
       <shrsOrPrnAmt>
           <sshPrnamt>764413</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>763213</Sole>
           <Shared>0</Shared>
           <None>1200</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>General Motors</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>37045V100</cusip>
       <value>15396</value>
       <shrsOrPrnAmt>
           <sshPrnamt>457252</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>448502</Sole>
           <Shared>0</Shared>
           <None>8750</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Genl Dynamics Corp</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>369550108</cusip>
       <value>9938</value>
       <shrsOrPrnAmt>
           <sshPrnamt>48544</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>48544</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Genmab ADR</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>372303206</cusip>
       <value>865</value>
       <shrsOrPrnAmt>
           <sshPrnamt>54924</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>54924</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>HP INC</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>40434L105</cusip>
       <value>14750</value>
       <shrsOrPrnAmt>
           <sshPrnamt>572360</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>572360</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Halozyme Therapeutics</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>40637H109</cusip>
       <value>797</value>
       <shrsOrPrnAmt>
           <sshPrnamt>43876</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>43876</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Healthcare Services Group</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>421906108</cusip>
       <value>872</value>
       <shrsOrPrnAmt>
           <sshPrnamt>21474</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>21474</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Hewlett Packard Enterprise</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>42824C109</cusip>
       <value>8832</value>
       <shrsOrPrnAmt>
           <sshPrnamt>541500</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>541500</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Hexcel</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>428291108</cusip>
       <value>1798</value>
       <shrsOrPrnAmt>
           <sshPrnamt>26812</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>25687</Sole>
           <Shared>0</Shared>
           <None>1125</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Honeywell</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>438516106</cusip>
       <value>254</value>
       <shrsOrPrnAmt>
           <sshPrnamt>1526</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>1526</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>ICF International</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>44925C103</cusip>
       <value>1041</value>
       <shrsOrPrnAmt>
           <sshPrnamt>13797</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>13797</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>IPG Photonics</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>44980X109</cusip>
       <value>798</value>
       <shrsOrPrnAmt>
           <sshPrnamt>5111</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>5111</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Idexx Laboratories</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>45168D104</cusip>
       <value>318</value>
       <shrsOrPrnAmt>
           <sshPrnamt>1275</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>1275</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Intel</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>458140100</cusip>
       <value>12645</value>
       <shrsOrPrnAmt>
           <sshPrnamt>267385</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>267385</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Intl Business Machines</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>459200101</cusip>
       <value>15908</value>
       <shrsOrPrnAmt>
           <sshPrnamt>105205</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>103155</Sole>
           <Shared>0</Shared>
           <None>2050</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>JPMorgan Chase</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>46625H100</cusip>
       <value>292</value>
       <shrsOrPrnAmt>
           <sshPrnamt>2591</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>2591</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Jack Henry &amp; Associates</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>426281101</cusip>
       <value>1220</value>
       <shrsOrPrnAmt>
           <sshPrnamt>7622</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>7622</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Johnson &amp; Johnson</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>478160104</cusip>
       <value>15651</value>
       <shrsOrPrnAmt>
           <sshPrnamt>113272</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>112672</Sole>
           <Shared>0</Shared>
           <None>600</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>LKQ Corporation</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>501889208</cusip>
       <value>20244</value>
       <shrsOrPrnAmt>
           <sshPrnamt>639221</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>636591</Sole>
           <Shared>0</Shared>
           <None>2630</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>LabCorp</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>50540R409</cusip>
       <value>396</value>
       <shrsOrPrnAmt>
           <sshPrnamt>2281</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>2281</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Lockheed Martin</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>539830109</cusip>
       <value>2220</value>
       <shrsOrPrnAmt>
           <sshPrnamt>6418</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>5718</Sole>
           <Shared>0</Shared>
           <None>700</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Loews</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>540424108</cusip>
       <value>18864</value>
       <shrsOrPrnAmt>
           <sshPrnamt>375557</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>375557</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Lonza Group ADR</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>54338V101</cusip>
       <value>23400</value>
       <shrsOrPrnAmt>
           <sshPrnamt>687425</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>686694</Sole>
           <Shared>0</Shared>
           <None>731</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>LyondellBasell Industries</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>N53745100</cusip>
       <value>2075</value>
       <shrsOrPrnAmt>
           <sshPrnamt>20246</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>18421</Sole>
           <Shared>0</Shared>
           <None>1825</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>MGM Growth Properties</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>55303A105</cusip>
       <value>2254</value>
       <shrsOrPrnAmt>
           <sshPrnamt>76445</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>66945</Sole>
           <Shared>0</Shared>
           <None>9500</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>MKS Instruments</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>55306N104</cusip>
       <value>589</value>
       <shrsOrPrnAmt>
           <sshPrnamt>7343</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>7343</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Marsh &amp; McLennan</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>571748102</cusip>
       <value>13517</value>
       <shrsOrPrnAmt>
           <sshPrnamt>163409</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>163409</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Merck</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>58933Y105</cusip>
       <value>1842</value>
       <shrsOrPrnAmt>
           <sshPrnamt>25965</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>21215</Sole>
           <Shared>0</Shared>
           <None>4750</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Mettler Toledo</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>592688105</cusip>
       <value>764</value>
       <shrsOrPrnAmt>
           <sshPrnamt>1254</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>1254</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Microsoft</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>594918104</cusip>
       <value>23546</value>
       <shrsOrPrnAmt>
           <sshPrnamt>205878</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>203677</Sole>
           <Shared>0</Shared>
           <None>2201</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Nike</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>654106103</cusip>
       <value>14569</value>
       <shrsOrPrnAmt>
           <sshPrnamt>171971</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>169821</Sole>
           <Shared>0</Shared>
           <None>2150</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>O&apos;Reilly Automotive</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>67103H107</cusip>
       <value>23034</value>
       <shrsOrPrnAmt>
           <sshPrnamt>66319</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>66251</Sole>
           <Shared>0</Shared>
           <None>68</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Omnicell</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>68213N109</cusip>
       <value>1297</value>
       <shrsOrPrnAmt>
           <sshPrnamt>18033</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>18033</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>PRA Group</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>69354N106</cusip>
       <value>860</value>
       <shrsOrPrnAmt>
           <sshPrnamt>23892</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>23892</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Philip Morris</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>718172109</cusip>
       <value>1969</value>
       <shrsOrPrnAmt>
           <sshPrnamt>24143</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>20743</Sole>
           <Shared>0</Shared>
           <None>3400</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Phillips 66</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>718546104</cusip>
       <value>1900</value>
       <shrsOrPrnAmt>
           <sshPrnamt>16856</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>14806</Sole>
           <Shared>0</Shared>
           <None>2050</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Pool</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>73278L105</cusip>
       <value>1125</value>
       <shrsOrPrnAmt>
           <sshPrnamt>6739</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>6739</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Protective Insurance</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>74368L203</cusip>
       <value>1736</value>
       <shrsOrPrnAmt>
           <sshPrnamt>75627</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>61377</Sole>
           <Shared>0</Shared>
           <None>14250</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Prudential Financial</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>744320102</cusip>
       <value>1537</value>
       <shrsOrPrnAmt>
           <sshPrnamt>15169</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>12694</Sole>
           <Shared>0</Shared>
           <None>2475</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Qualcomm</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>747525103</cusip>
       <value>2361</value>
       <shrsOrPrnAmt>
           <sshPrnamt>32779</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>27629</Sole>
           <Shared>0</Shared>
           <None>5150</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Qualys</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>74758T303</cusip>
       <value>1647</value>
       <shrsOrPrnAmt>
           <sshPrnamt>18489</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>17314</Sole>
           <Shared>0</Shared>
           <None>1175</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Royal Dutch Shell Class A</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>780259206</cusip>
       <value>15899</value>
       <shrsOrPrnAmt>
           <sshPrnamt>233330</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>233330</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>SBA Communications</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>78410G104</cusip>
       <value>892</value>
       <shrsOrPrnAmt>
           <sshPrnamt>5552</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>5552</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Sherwin-Williams</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>824348106</cusip>
       <value>21429</value>
       <shrsOrPrnAmt>
           <sshPrnamt>47074</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>46774</Sole>
           <Shared>0</Shared>
           <None>300</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Stanley Black &amp; Decker Inc.</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>854502101</cusip>
       <value>9729</value>
       <shrsOrPrnAmt>
           <sshPrnamt>66439</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>66439</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Starbucks</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>855244109</cusip>
       <value>227</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>Tegna Inc.</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>87901J105</cusip>
       <value>10393</value>
       <shrsOrPrnAmt>
           <sshPrnamt>868995</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>868995</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>United Technologies</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>913017109</cusip>
       <value>21163</value>
       <shrsOrPrnAmt>
           <sshPrnamt>151371</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>149845</Sole>
           <Shared>0</Shared>
           <None>1526</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>UnitedHealth Group</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>91324P102</cusip>
       <value>10421</value>
       <shrsOrPrnAmt>
           <sshPrnamt>39172</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>38522</Sole>
           <Shared>0</Shared>
           <None>650</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Verisk Analytics</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>92345Y106</cusip>
       <value>22892</value>
       <shrsOrPrnAmt>
           <sshPrnamt>189895</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>188281</Sole>
           <Shared>0</Shared>
           <None>1614</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Viacom Cl B</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>92553P201</cusip>
       <value>7048</value>
       <shrsOrPrnAmt>
           <sshPrnamt>208780</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>208780</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Visa</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>92826C839</cusip>
       <value>24113</value>
       <shrsOrPrnAmt>
           <sshPrnamt>160655</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>158572</Sole>
           <Shared>0</Shared>
           <None>2083</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Webster Financial Corp.</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>947890109</cusip>
       <value>1278</value>
       <shrsOrPrnAmt>
           <sshPrnamt>21676</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>21676</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Wells Fargo</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>949746101</cusip>
       <value>13818</value>
       <shrsOrPrnAmt>
           <sshPrnamt>262899</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>262899</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
   <infoTable>
       <nameOfIssuer>Western Union</nameOfIssuer>
       <titleOfClass>COM</titleOfClass>
       <cusip>959802109</cusip>
       <value>9396</value>
       <shrsOrPrnAmt>
           <sshPrnamt>492977</sshPrnamt>
           <sshPrnamtType>SH</sshPrnamtType>
       </shrsOrPrnAmt>
       <investmentDiscretion>SOLE</investmentDiscretion>
       <votingAuthority>
           <Sole>492977</Sole>
           <Shared>0</Shared>
           <None>0</None>
       </votingAuthority>
   </infoTable>
</informationTable>
