<?xml version="1.0" encoding="windows-1252"?>
<informationTable xmlns="http://www.sec.gov/edgar/document/thirteenf/informationtable" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<infoTable>
  <nameOfIssuer>3M COMPANY</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>88579y101</cusip>
  <value>721938</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4971</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4971</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ABBOTT LABORATORIES</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>002824100</cusip>
  <value>2588003</value>
  <shrsOrPrnAmt>
    <sshPrnamt>25207</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>25207</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ABBVIE INC SHS</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>00287y109</cusip>
  <value>5615374</value>
  <shrsOrPrnAmt>
    <sshPrnamt>25819</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>25819</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ACCENTURE PLC F CLASS    A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>g1151c101</cusip>
  <value>370802</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1870</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1870</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>AGILYSYS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>00847j105</cusip>
  <value>13155552</value>
  <shrsOrPrnAmt>
    <sshPrnamt>184925</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>184925</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>AIR PROD &amp; CHEMICALS</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>009158106</cusip>
  <value>397971</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1370</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1370</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ALARM.COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>011642105</cusip>
  <value>12956020</value>
  <shrsOrPrnAmt>
    <sshPrnamt>299977</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>299977</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ALLISON TRANSMISSION HLDGS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>01973r101</cusip>
  <value>270174</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2308</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2308</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ALPHABET INC CL C</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>02079k107</cusip>
  <value>217100656</value>
  <shrsOrPrnAmt>
    <sshPrnamt>756817</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>756817</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ALPHABET INC. CLASS A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>02079k305</cusip>
  <value>10565242</value>
  <shrsOrPrnAmt>
    <sshPrnamt>36741</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>36741</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ALTRIA GROUP INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>02209s103</cusip>
  <value>256437</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3886</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3886</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>AMAZON.COM INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>023135106</cusip>
  <value>165872060</value>
  <shrsOrPrnAmt>
    <sshPrnamt>796428</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>796428</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>AMERICAN EXPRESS CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>025816109</cusip>
  <value>1588927</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5253</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5253</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>AMERICAN TOWER CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>03027x100</cusip>
  <value>22760170</value>
  <shrsOrPrnAmt>
    <sshPrnamt>131882</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>131882</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>AMGEN INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>031162100</cusip>
  <value>680126</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1933</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1933</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>AMPHENOL CORP NEW CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>032095101</cusip>
  <value>26920131</value>
  <shrsOrPrnAmt>
    <sshPrnamt>213060</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>213060</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ANALOG DEVICES INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>032654105</cusip>
  <value>1511483</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4751</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4751</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>APPFOLIO, INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>03783c100</cusip>
  <value>50583269</value>
  <shrsOrPrnAmt>
    <sshPrnamt>320512</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>320512</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>APPLE INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>037833100</cusip>
  <value>59418070</value>
  <shrsOrPrnAmt>
    <sshPrnamt>234123</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>234123</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>APPLIED INDL TECHNOLOGIES INC </nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>03820c105</cusip>
  <value>23946682</value>
  <shrsOrPrnAmt>
    <sshPrnamt>90256</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>90256</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ASML HOLDINGS N.V.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>n07059210</cusip>
  <value>79866164</value>
  <shrsOrPrnAmt>
    <sshPrnamt>60467</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>60467</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ATLASSIAN CORPORATION CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>049468101</cusip>
  <value>7541403</value>
  <shrsOrPrnAmt>
    <sshPrnamt>110497</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>110497</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>AUTO DATA PROCESSING</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>053015103</cusip>
  <value>3501198</value>
  <shrsOrPrnAmt>
    <sshPrnamt>17232</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>17232</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BADGER METER INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>056525108</cusip>
  <value>22984921</value>
  <shrsOrPrnAmt>
    <sshPrnamt>150869</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>150869</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BANK AMER CORP COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>060505104</cusip>
  <value>371134</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7613</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7613</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BANK OF HAWAII CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>062540109</cusip>
  <value>224606</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3025</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3025</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BECTON DICKINSON&amp;CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>075887109</cusip>
  <value>263360</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1675</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1675</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BERKLEY W R CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>084423102</cusip>
  <value>864291</value>
  <shrsOrPrnAmt>
    <sshPrnamt>13040</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>13040</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BERKSHIRE HATHAWAY INC  DELAWA</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>084670108</cusip>
  <value>8617680</value>
  <shrsOrPrnAmt>
    <sshPrnamt>12</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>12</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BERKSHIRE HATHAWAY INC CL B</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>084670702</cusip>
  <value>9889730</value>
  <shrsOrPrnAmt>
    <sshPrnamt>20638</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>20638</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BHP GROUP LTD ADR</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>088606108</cusip>
  <value>1273750</value>
  <shrsOrPrnAmt>
    <sshPrnamt>17511</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>17511</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BIO-TECHNE CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>09073m104</cusip>
  <value>106769630</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2043047</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2043047</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BLACKSTONE GROUP ORD SHS CLASS</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>09260d107</cusip>
  <value>632330</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5499</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5499</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BOEING CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>097023105</cusip>
  <value>433487</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2178</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2178</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BOOKING HOLDING, INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>09857l108</cusip>
  <value>399980</value>
  <shrsOrPrnAmt>
    <sshPrnamt>95</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>95</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BOOZ ALLEN HAMILTON HOLDING CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>099502106</cusip>
  <value>20328546</value>
  <shrsOrPrnAmt>
    <sshPrnamt>260522</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>260522</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BP PLC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>055622104</cusip>
  <value>308085</value>
  <shrsOrPrnAmt>
    <sshPrnamt>6555</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>6555</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BRISTOL-MYERS SQUIBB</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>110122108</cusip>
  <value>309921</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5110</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5110</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BROADCOM INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>11135f101</cusip>
  <value>60497356</value>
  <shrsOrPrnAmt>
    <sshPrnamt>195462</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>195462</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BROWN &amp; BROWN</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>115236101</cusip>
  <value>15180760</value>
  <shrsOrPrnAmt>
    <sshPrnamt>232798</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>232798</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CADENCE DESIGN SYSTEMS INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>127387108</cusip>
  <value>80038689</value>
  <shrsOrPrnAmt>
    <sshPrnamt>288044</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>288044</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CALAMOS CONV OPP AND INC FD SH</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>128117108</cusip>
  <value>315949</value>
  <shrsOrPrnAmt>
    <sshPrnamt>29418</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>29418</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CAMECO CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>13321l108</cusip>
  <value>3008606</value>
  <shrsOrPrnAmt>
    <sshPrnamt>27701</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>27701</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CANADIAN NATL RAILWY F</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>136375102</cusip>
  <value>1531273</value>
  <shrsOrPrnAmt>
    <sshPrnamt>14900</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>14900</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CANADIAN PACIFIC KANSAS CITY C</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>13646k108</cusip>
  <value>558565</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7101</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7101</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CAPITAL ONE FINL CORP COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>14040h105</cusip>
  <value>5904712</value>
  <shrsOrPrnAmt>
    <sshPrnamt>32367</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>32367</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CASELLA WASTE SYSTEMS INC CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>147448104</cusip>
  <value>25990607</value>
  <shrsOrPrnAmt>
    <sshPrnamt>327585</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>327585</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CATERPILLAR INC DEL COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>149123101</cusip>
  <value>603608</value>
  <shrsOrPrnAmt>
    <sshPrnamt>852</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>852</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CBRE GROUP INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>12504l109</cusip>
  <value>89066268</value>
  <shrsOrPrnAmt>
    <sshPrnamt>657510</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>657510</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CHEVRON CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>166764100</cusip>
  <value>1755960</value>
  <shrsOrPrnAmt>
    <sshPrnamt>8487</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>8487</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CHUBB LTD</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>h1467j104</cusip>
  <value>1481352</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4545</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4545</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CISCO SYSTEMS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>17275r102</cusip>
  <value>3915890</value>
  <shrsOrPrnAmt>
    <sshPrnamt>50469</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>50469</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>COCA COLA COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>191216100</cusip>
  <value>2759094</value>
  <shrsOrPrnAmt>
    <sshPrnamt>36280</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>36280</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>COLGATE-PALMOLIVE CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>194162103</cusip>
  <value>976139</value>
  <shrsOrPrnAmt>
    <sshPrnamt>11453</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>11453</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>COMCAST CORP NEW CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>20030n101</cusip>
  <value>476127</value>
  <shrsOrPrnAmt>
    <sshPrnamt>16584</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>16584</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CONOCOPHILLIPS</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>20825c104</cusip>
  <value>435600</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3300</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3300</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CONSTELLATION SOFTWARE F</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>21037x100</cusip>
  <value>1008050</value>
  <shrsOrPrnAmt>
    <sshPrnamt>573</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>573</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>COPART INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>217204106</cusip>
  <value>39308405</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1183988</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1183988</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CORE &amp; MAIN INC CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>21874c102</cusip>
  <value>23432908</value>
  <shrsOrPrnAmt>
    <sshPrnamt>474350</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>474350</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>COSTAR GROUP INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>22160n109</cusip>
  <value>64752035</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1605157</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1605157</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>COSTCO WHOLESALE CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>22160k105</cusip>
  <value>14483849</value>
  <shrsOrPrnAmt>
    <sshPrnamt>14536</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>14536</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CROWDSTRIKE HOLDINGS, INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>22788c105</cusip>
  <value>21861398</value>
  <shrsOrPrnAmt>
    <sshPrnamt>55996</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>55996</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CROWN CASTLE INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>22822v101</cusip>
  <value>2165773</value>
  <shrsOrPrnAmt>
    <sshPrnamt>26636</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>26636</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CSW INDUSTRIALS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>126402106</cusip>
  <value>25162006</value>
  <shrsOrPrnAmt>
    <sshPrnamt>96562</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>96562</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>DANAHER CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>235851102</cusip>
  <value>81772927</value>
  <shrsOrPrnAmt>
    <sshPrnamt>431292</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>431292</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>DEXCOM INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>252131107</cusip>
  <value>1589908</value>
  <shrsOrPrnAmt>
    <sshPrnamt>25317</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>25317</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>DICK&apos;S SPORTING GOODS INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>253393102</cusip>
  <value>1085638</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5475</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5475</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>DOUGLAS DYNAMICS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>25960r105</cusip>
  <value>10367820</value>
  <shrsOrPrnAmt>
    <sshPrnamt>246325</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>246325</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>EAGLE MATERIALS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>26969p108</cusip>
  <value>14153971</value>
  <shrsOrPrnAmt>
    <sshPrnamt>74711</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>74711</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>EAST WEST BANCORP INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>27579r104</cusip>
  <value>651236</value>
  <shrsOrPrnAmt>
    <sshPrnamt>6100</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>6100</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>EATON CORP PLC SHS</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>g29183103</cusip>
  <value>524702</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1467</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1467</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ECOLAB INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>278865100</cusip>
  <value>137963813</value>
  <shrsOrPrnAmt>
    <sshPrnamt>518622</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>518622</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>EDWARDS LIFESCIENCES</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>28176e108</cusip>
  <value>1541780</value>
  <shrsOrPrnAmt>
    <sshPrnamt>19253</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>19253</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>EMCOR GROUP INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>29084q100</cusip>
  <value>398687</value>
  <shrsOrPrnAmt>
    <sshPrnamt>540</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>540</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>EMERSON ELECTRIC CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>291011104</cusip>
  <value>1252289</value>
  <shrsOrPrnAmt>
    <sshPrnamt>9558</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>9558</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ENSIGN GROUP INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>29358p101</cusip>
  <value>12933169</value>
  <shrsOrPrnAmt>
    <sshPrnamt>64184</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>64184</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ENTEGRIS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>29362u104</cusip>
  <value>16690652</value>
  <shrsOrPrnAmt>
    <sshPrnamt>142363</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>142363</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ENTERPRISE PRODS PART LP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>293792107</cusip>
  <value>1295339</value>
  <shrsOrPrnAmt>
    <sshPrnamt>34232</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>34232</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>EOG RES INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>26875p101</cusip>
  <value>361280</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2499</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2499</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>EQT CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>26884l109</cusip>
  <value>2782341</value>
  <shrsOrPrnAmt>
    <sshPrnamt>43720</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>43720</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ESCO TECHNOLOGIES INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>296315104</cusip>
  <value>20579984</value>
  <shrsOrPrnAmt>
    <sshPrnamt>73142</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>73142</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>EXPONENT INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>30214u102</cusip>
  <value>7498533</value>
  <shrsOrPrnAmt>
    <sshPrnamt>114920</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>114920</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>EXXON MOBIL CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>30231g102</cusip>
  <value>2096149</value>
  <shrsOrPrnAmt>
    <sshPrnamt>12355</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>12355</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>FASTENAL CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>311900104</cusip>
  <value>123762566</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2667297</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2667297</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>FEDERAL SIGNAL CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>313855108</cusip>
  <value>22908343</value>
  <shrsOrPrnAmt>
    <sshPrnamt>211840</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>211840</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>FISERV INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>337738108</cusip>
  <value>1748493</value>
  <shrsOrPrnAmt>
    <sshPrnamt>31335</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>31335</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>FLAHERTY &amp; CRUMRINE PFD SECS I</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>338478100</cusip>
  <value>190496</value>
  <shrsOrPrnAmt>
    <sshPrnamt>12298</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>12298</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>FLOOR &amp; DECOR HOLDINGS, INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>339750101</cusip>
  <value>32410548</value>
  <shrsOrPrnAmt>
    <sshPrnamt>638003</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>638003</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>FRANCO-NEVADA CORPORATION</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>351858105</cusip>
  <value>2433442</value>
  <shrsOrPrnAmt>
    <sshPrnamt>9850</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>9850</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GAMCO GLOBAL GOLD NAT RES &amp; IN</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>36465a109</cusip>
  <value>124860</value>
  <shrsOrPrnAmt>
    <sshPrnamt>23470</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>23470</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GE AEROSPACE</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>369604301</cusip>
  <value>210274</value>
  <shrsOrPrnAmt>
    <sshPrnamt>741</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>741</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GOLDMAN SACHS GROUP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>38141g104</cusip>
  <value>428071</value>
  <shrsOrPrnAmt>
    <sshPrnamt>506</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>506</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GOOSEHEAD INSURANCE, INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>38267d109</cusip>
  <value>33429010</value>
  <shrsOrPrnAmt>
    <sshPrnamt>783615</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>783615</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GRAINGER W W INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>384802104</cusip>
  <value>2552495</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2340</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2340</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GUIDEWIRE SOFTWARE INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>40171v100</cusip>
  <value>92469164</value>
  <shrsOrPrnAmt>
    <sshPrnamt>618275</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>618275</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>HAMILTON LANE INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>407497106</cusip>
  <value>15592298</value>
  <shrsOrPrnAmt>
    <sshPrnamt>156864</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>156864</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>HAYWARD HOLDINGS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>421298100</cusip>
  <value>28825289</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2154356</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2154356</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>HEALTHEQUITY, INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>42226a107</cusip>
  <value>11180186</value>
  <shrsOrPrnAmt>
    <sshPrnamt>133782</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>133782</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>HEICO CORP CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>422806208</cusip>
  <value>164020788</value>
  <shrsOrPrnAmt>
    <sshPrnamt>777018</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>777018</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>HOME DEPOT INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>437076102</cusip>
  <value>3018552</value>
  <shrsOrPrnAmt>
    <sshPrnamt>9178</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>9178</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>HONEYWELL INTL INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>438516106</cusip>
  <value>892366</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3948</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3948</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>HUBBELL INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>443510607</cusip>
  <value>495157</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1009</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1009</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>IBM CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>459200101</cusip>
  <value>910659</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3757</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3757</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>IDEXX LABS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>45168d104</cusip>
  <value>22488523</value>
  <shrsOrPrnAmt>
    <sshPrnamt>40023</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>40023</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ILLINOIS TOOL WORKS</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>452308109</cusip>
  <value>1619524</value>
  <shrsOrPrnAmt>
    <sshPrnamt>6222</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>6222</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ILLUMINA INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>452327109</cusip>
  <value>330707</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2683</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2683</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>INTEL CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>458140100</cusip>
  <value>1051927</value>
  <shrsOrPrnAmt>
    <sshPrnamt>23837</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>23837</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>INTUIT INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>461202103</cusip>
  <value>3327846</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7697</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7697</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>INTUITIVE SURGICAL INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>46120e602</cusip>
  <value>126916540</value>
  <shrsOrPrnAmt>
    <sshPrnamt>275313</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>275313</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>J P MORGAN CHASE &amp; CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>46625h100</cusip>
  <value>8727433</value>
  <shrsOrPrnAmt>
    <sshPrnamt>29669</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>29669</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>JOHNSON &amp; JOHNSON</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>478160104</cusip>
  <value>13107606</value>
  <shrsOrPrnAmt>
    <sshPrnamt>53623</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>53623</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>KADANT INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>48282t104</cusip>
  <value>13562973</value>
  <shrsOrPrnAmt>
    <sshPrnamt>46393</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>46393</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>KEYSIGHT TECHNOLOGIES INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>49338l103</cusip>
  <value>402377</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1425</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1425</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>KINSALE CAPITAL GROUP INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>49714p108</cusip>
  <value>85051791</value>
  <shrsOrPrnAmt>
    <sshPrnamt>248937</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>248937</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>KLA CORPORATION</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>482480100</cusip>
  <value>892280</value>
  <shrsOrPrnAmt>
    <sshPrnamt>606</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>606</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>LABCORP HOLDINGS INC </nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>504922105</cusip>
  <value>882607</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3308</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3308</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>LANDBRIDGE COMPANY LLC CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>514952100</cusip>
  <value>34373608</value>
  <shrsOrPrnAmt>
    <sshPrnamt>497807</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>497807</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>LEMAITRE VASCULAR</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>525558201</cusip>
  <value>18050297</value>
  <shrsOrPrnAmt>
    <sshPrnamt>165341</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>165341</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>LENNOX INTERNATIONAL INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>526107107</cusip>
  <value>373161</value>
  <shrsOrPrnAmt>
    <sshPrnamt>804</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>804</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>LILLY ELI &amp; CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>532457108</cusip>
  <value>2851287</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3100</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3100</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>LINDE PLC SHS</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>g54950103</cusip>
  <value>747606</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1508</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1508</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>LOWE&apos;S COMPANIES INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>548661107</cusip>
  <value>4040152</value>
  <shrsOrPrnAmt>
    <sshPrnamt>17099</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>17099</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>LVMH MOET HENNESSY LOU VUITTON</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>502441306</cusip>
  <value>536696</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4913</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4913</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>M &amp; T BANK CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>55261f104</cusip>
  <value>617059</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2985</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2985</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MANHATTAN ASSOCS INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>562750109</cusip>
  <value>51733764</value>
  <shrsOrPrnAmt>
    <sshPrnamt>388625</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>388625</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MARKEL GROUP INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>570535104</cusip>
  <value>50791474</value>
  <shrsOrPrnAmt>
    <sshPrnamt>26536</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>26536</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MARKETAXESS HLDGS INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>57060d108</cusip>
  <value>6764137</value>
  <shrsOrPrnAmt>
    <sshPrnamt>41000</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>41000</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MARSH COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>571748102</cusip>
  <value>488435</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2816</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2816</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MASTERCARD INC CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>57636q104</cusip>
  <value>143462075</value>
  <shrsOrPrnAmt>
    <sshPrnamt>287119</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>287119</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MC DONALDS CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>580135101</cusip>
  <value>1493035</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4804</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4804</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MCCORMICK &amp; CO INC COM NON VTG</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>579780206</cusip>
  <value>1069530</value>
  <shrsOrPrnAmt>
    <sshPrnamt>21204</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>21204</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>McKESSON CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>58155q103</cusip>
  <value>500178</value>
  <shrsOrPrnAmt>
    <sshPrnamt>578</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>578</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MEDPACE HOLDINGS, INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>58506q109</cusip>
  <value>35923057</value>
  <shrsOrPrnAmt>
    <sshPrnamt>74810</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>74810</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MERCK &amp; CO. INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>58933y105</cusip>
  <value>2729260</value>
  <shrsOrPrnAmt>
    <sshPrnamt>22689</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>22689</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MERGENET SOLUTIONS INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>58950m109</cusip>
  <value>10000</value>
  <shrsOrPrnAmt>
    <sshPrnamt>10000</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>10000</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>META PLATFORMS INC CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>30303m102</cusip>
  <value>2194691</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3836</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3836</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>METTLER TOLEDO INTL</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>592688105</cusip>
  <value>24819407</value>
  <shrsOrPrnAmt>
    <sshPrnamt>19679</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>19679</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MICROCHIP TECH INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>595017104</cusip>
  <value>14885088</value>
  <shrsOrPrnAmt>
    <sshPrnamt>230384</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>230384</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MICROSOFT CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>594918104</cusip>
  <value>108626567</value>
  <shrsOrPrnAmt>
    <sshPrnamt>293450</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>293450</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MIDDLEBY CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>596278101</cusip>
  <value>401850</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3031</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3031</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MONDELEZ INTL INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>609207105</cusip>
  <value>856357</value>
  <shrsOrPrnAmt>
    <sshPrnamt>14857</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>14857</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MONOLITHIC PWR SYS INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>609839105</cusip>
  <value>96815305</value>
  <shrsOrPrnAmt>
    <sshPrnamt>88549</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>88549</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MOODYS CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>615369105</cusip>
  <value>128868777</value>
  <shrsOrPrnAmt>
    <sshPrnamt>295401</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>295401</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MORGAN STANLEY</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>617446448</cusip>
  <value>634253</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3854</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3854</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MORNINGSTAR INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>617700109</cusip>
  <value>17305809</value>
  <shrsOrPrnAmt>
    <sshPrnamt>102371</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>102371</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MOTOROLA SOLUTIONS INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>620076307</cusip>
  <value>55731729</value>
  <shrsOrPrnAmt>
    <sshPrnamt>128423</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>128423</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MP MATERIALS CORP COM CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>553368101</cusip>
  <value>800489</value>
  <shrsOrPrnAmt>
    <sshPrnamt>16587</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>16587</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MSCI INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>55354g100</cusip>
  <value>65458429</value>
  <shrsOrPrnAmt>
    <sshPrnamt>121442</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>121442</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MURPHY USA INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>626755102</cusip>
  <value>11359621</value>
  <shrsOrPrnAmt>
    <sshPrnamt>22997</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>22997</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>NEOGEN CORP COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>640491106</cusip>
  <value>204380</value>
  <shrsOrPrnAmt>
    <sshPrnamt>22000</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>22000</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>NESTLE S A F SPONSORED ADR 1 A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>641069406</cusip>
  <value>712727</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7192</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7192</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>NETFLIX INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>64110l106</cusip>
  <value>50944981</value>
  <shrsOrPrnAmt>
    <sshPrnamt>529849</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>529849</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>NEWMONT GOLDCORP CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>651639106</cusip>
  <value>314791</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2908</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2908</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>NEXTERA ENERGY INC SHS</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>65339f101</cusip>
  <value>1047315</value>
  <shrsOrPrnAmt>
    <sshPrnamt>11276</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>11276</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>NORFOLK SOUTHERN CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>655844108</cusip>
  <value>1297527</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4521</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4521</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>NOVANTA INC COM NPV</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>67000b104</cusip>
  <value>45694055</value>
  <shrsOrPrnAmt>
    <sshPrnamt>386877</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>386877</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>NOVARTIS AG F SPONSORED ADR 1 </nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>66987v109</cusip>
  <value>781316</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5115</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5115</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>NVIDIA CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>67066g104</cusip>
  <value>1063840</value>
  <shrsOrPrnAmt>
    <sshPrnamt>6100</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>6100</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>NXP SEMICONDUCTORS</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>n6596x109</cusip>
  <value>415571</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2111</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2111</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>O REILLY AUTOMOTIVE</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>67103h107</cusip>
  <value>43559427</value>
  <shrsOrPrnAmt>
    <sshPrnamt>471882</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>471882</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>OLD DOMINION FGHT LINES INC CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>679580100</cusip>
  <value>32926382</value>
  <shrsOrPrnAmt>
    <sshPrnamt>168508</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>168508</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ONEOK INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>682680103</cusip>
  <value>432155</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4781</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4781</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ONTO INNOVATION INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>683344105</cusip>
  <value>19190721</value>
  <shrsOrPrnAmt>
    <sshPrnamt>93581</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>93581</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ORACLE CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>68389x105</cusip>
  <value>1110092</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7546</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7546</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>OTIS WORLDWIDE ORD SHS</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>68902v107</cusip>
  <value>243958</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3165</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3165</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PAYCHEX INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>704326107</cusip>
  <value>2692944</value>
  <shrsOrPrnAmt>
    <sshPrnamt>29233</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>29233</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PDF SOLUTIONS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>693282105</cusip>
  <value>11545334</value>
  <shrsOrPrnAmt>
    <sshPrnamt>352960</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>352960</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PEPSICO INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>713448108</cusip>
  <value>1997495</value>
  <shrsOrPrnAmt>
    <sshPrnamt>12863</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>12863</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PERIMETER SOLUTIONS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>71385m107</cusip>
  <value>96028504</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3932371</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3932371</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PFIZER INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>717081103</cusip>
  <value>1211427</value>
  <shrsOrPrnAmt>
    <sshPrnamt>43142</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>43142</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PHILIP MORRIS INTL</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>718172109</cusip>
  <value>477833</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2890</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2890</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PINNACLE WEST CAP CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>723484101</cusip>
  <value>302250</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3000</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3000</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PNC FINL SERVICES</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>693475105</cusip>
  <value>441359</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2121</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2121</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>POOL CORPORATION</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>73278l105</cusip>
  <value>526665</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2603</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2603</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PROCORE TECHNOLOGIES INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>74275k108</cusip>
  <value>49030328</value>
  <shrsOrPrnAmt>
    <sshPrnamt>860181</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>860181</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PROCTER &amp; GAMBLE CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>742718109</cusip>
  <value>18709602</value>
  <shrsOrPrnAmt>
    <sshPrnamt>129532</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>129532</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PROGRESSIVE CORPORATION</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>743315103</cusip>
  <value>739237</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3729</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3729</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PROLOGIS INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>74340w103</cusip>
  <value>253653</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1919</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1919</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PTC INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>69370c100</cusip>
  <value>25732097</value>
  <shrsOrPrnAmt>
    <sshPrnamt>180589</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>180589</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>QUALCOMM INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>747525103</cusip>
  <value>27189270</value>
  <shrsOrPrnAmt>
    <sshPrnamt>211130</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>211130</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>QUANTA SVCS INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>74762e102</cusip>
  <value>729099</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1328</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1328</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>RAMBUS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>750917106</cusip>
  <value>8763482</value>
  <shrsOrPrnAmt>
    <sshPrnamt>101865</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>101865</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>RANGE RESOURCES CORP DEL</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>75281a109</cusip>
  <value>2428877</value>
  <shrsOrPrnAmt>
    <sshPrnamt>53760</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>53760</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>RBC BEARINGS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>75524b104</cusip>
  <value>39870064</value>
  <shrsOrPrnAmt>
    <sshPrnamt>73409</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>73409</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>REPLIGEN CORPORATION</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>759916109</cusip>
  <value>43017879</value>
  <shrsOrPrnAmt>
    <sshPrnamt>365115</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>365115</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ROPER TECHNOLOGIES INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>776696106</cusip>
  <value>12584323</value>
  <shrsOrPrnAmt>
    <sshPrnamt>35563</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>35563</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>RPM INTERNATIONAL INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>749685103</cusip>
  <value>362810</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3650</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3650</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>RTX CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>75513e101</cusip>
  <value>773915</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4012</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4012</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>S &amp; P GLOBAL INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>78409v104</cusip>
  <value>64795546</value>
  <shrsOrPrnAmt>
    <sshPrnamt>152338</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>152338</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SAIA INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>78709y105</cusip>
  <value>22768835</value>
  <shrsOrPrnAmt>
    <sshPrnamt>64817</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>64817</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SBA COMMUNICATIONS CORP CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>78410g104</cusip>
  <value>634357</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3686</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3686</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SERVICENOW INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>81762p102</cusip>
  <value>36546812</value>
  <shrsOrPrnAmt>
    <sshPrnamt>349563</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>349563</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SHERWIN-WILLIAMS CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>824348106</cusip>
  <value>33973737</value>
  <shrsOrPrnAmt>
    <sshPrnamt>105986</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>105986</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SHOPIFY INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>82509l107</cusip>
  <value>2819597</value>
  <shrsOrPrnAmt>
    <sshPrnamt>23770</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>23770</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SHORE BANCSHARES, INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>825107105</cusip>
  <value>270860</value>
  <shrsOrPrnAmt>
    <sshPrnamt>14500</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>14500</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SIMPSON MANUFACTURING CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>829073105</cusip>
  <value>11784709</value>
  <shrsOrPrnAmt>
    <sshPrnamt>68667</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>68667</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SITEONE LANDSCAPE SUPPLY, INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>82982l103</cusip>
  <value>31433698</value>
  <shrsOrPrnAmt>
    <sshPrnamt>236148</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>236148</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SOUTHERN COMPANY</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>842587107</cusip>
  <value>322473</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3341</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3341</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>STARBUCKS CORP COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>855244109</cusip>
  <value>733384</value>
  <shrsOrPrnAmt>
    <sshPrnamt>8186</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>8186</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>STRYKER CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>863667101</cusip>
  <value>11444790</value>
  <shrsOrPrnAmt>
    <sshPrnamt>34830</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>34830</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SYNOPSYS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>871607107</cusip>
  <value>10459936</value>
  <shrsOrPrnAmt>
    <sshPrnamt>26382</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>26382</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SYSCO CORP COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>871829107</cusip>
  <value>469066</value>
  <shrsOrPrnAmt>
    <sshPrnamt>6576</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>6576</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>T ROWE PRICE GROUP INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>74144t108</cusip>
  <value>5153304</value>
  <shrsOrPrnAmt>
    <sshPrnamt>57170</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>57170</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>TAIWAN SEMICONDUCTOR MFG LTD A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>874039100</cusip>
  <value>326460</value>
  <shrsOrPrnAmt>
    <sshPrnamt>966</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>966</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>TERRENO REALTY CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>88146m101</cusip>
  <value>1016624</value>
  <shrsOrPrnAmt>
    <sshPrnamt>16552</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>16552</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>THE DESCARTES SYSTEMS GROUP IN</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>249906108</cusip>
  <value>13129670</value>
  <shrsOrPrnAmt>
    <sshPrnamt>183478</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>183478</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>THERMO FISHER SCIENTIFIC INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>883556102</cusip>
  <value>46174510</value>
  <shrsOrPrnAmt>
    <sshPrnamt>93940</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>93940</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>TJX COMPANIES INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>872540109</cusip>
  <value>1376454</value>
  <shrsOrPrnAmt>
    <sshPrnamt>8619</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>8619</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>TRACTOR SUPPLY COMP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>892356106</cusip>
  <value>1442805</value>
  <shrsOrPrnAmt>
    <sshPrnamt>31850</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>31850</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>TRANSDIGM GROUP INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>893641100</cusip>
  <value>142265784</value>
  <shrsOrPrnAmt>
    <sshPrnamt>122753</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>122753</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>TRIMBLE INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>896239100</cusip>
  <value>283424</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4345</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4345</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>TYLER TECHNOLOGIES INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>902252105</cusip>
  <value>58094001</value>
  <shrsOrPrnAmt>
    <sshPrnamt>169677</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>169677</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>U S BANCORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>902973304</cusip>
  <value>557547</value>
  <shrsOrPrnAmt>
    <sshPrnamt>10720</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>10720</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>UBER TECHNOLOGIES, INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>90353t100</cusip>
  <value>54348941</value>
  <shrsOrPrnAmt>
    <sshPrnamt>755581</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>755581</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>UNITEDHEALTH GRP INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>91324p102</cusip>
  <value>681346</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2518</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2518</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>UTZ BRANDS INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>918090101</cusip>
  <value>10498774</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1325603</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1325603</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VEEVA SYSTEMS, INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>922475108</cusip>
  <value>80997272</value>
  <shrsOrPrnAmt>
    <sshPrnamt>461103</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>461103</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VENTAS INC              REIT</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>92276f100</cusip>
  <value>386738</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4729</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4729</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VERALTO CORP </nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>92338c103</cusip>
  <value>46708600</value>
  <shrsOrPrnAmt>
    <sshPrnamt>528258</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>528258</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VERISK ANALYTICS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>92345y106</cusip>
  <value>20353873</value>
  <shrsOrPrnAmt>
    <sshPrnamt>107267</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>107267</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VERIZON COMMUNICATN</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>92343v104</cusip>
  <value>369673</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7364</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7364</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VISA INC CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>92826c839</cusip>
  <value>186797766</value>
  <shrsOrPrnAmt>
    <sshPrnamt>618044</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>618044</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VSE CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>918284100</cusip>
  <value>14243685</value>
  <shrsOrPrnAmt>
    <sshPrnamt>77243</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>77243</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VULCAN MATERIALS CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>929160109</cusip>
  <value>148025836</value>
  <shrsOrPrnAmt>
    <sshPrnamt>543613</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>543613</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>W E C ENERGY GROUP INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>92939u106</cusip>
  <value>895134</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7732</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7732</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>W.P. CAREY INC. REIT</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>92936u109</cusip>
  <value>371316</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5464</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5464</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WABTEC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>929740108</cusip>
  <value>2409882</value>
  <shrsOrPrnAmt>
    <sshPrnamt>9643</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>9643</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WALMART INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>931142103</cusip>
  <value>739715</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5952</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5952</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WALT DISNEY CO</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>254687106</cusip>
  <value>1050735</value>
  <shrsOrPrnAmt>
    <sshPrnamt>10902</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>10902</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WARBY PARKER INC CL A </nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>93403j106</cusip>
  <value>11127667</value>
  <shrsOrPrnAmt>
    <sshPrnamt>528128</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>528128</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WASTE CONNECTIONS INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>94106b101</cusip>
  <value>139619602</value>
  <shrsOrPrnAmt>
    <sshPrnamt>859515</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>859515</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WATSCO CLASS B</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>942622101</cusip>
  <value>448586</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1245</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1245</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WATSCO INC</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>942622200</cusip>
  <value>8307451</value>
  <shrsOrPrnAmt>
    <sshPrnamt>22836</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>22836</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WELLS FARGO BK N A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>949746101</cusip>
  <value>410310</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5154</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5154</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WEST PHARMACEUTICALS, INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>955306105</cusip>
  <value>30226477</value>
  <shrsOrPrnAmt>
    <sshPrnamt>120597</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>120597</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WHEATON PRECIOUS METALS CORP</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>962879102</cusip>
  <value>2286124</value>
  <shrsOrPrnAmt>
    <sshPrnamt>17450</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>17450</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WILLIAMS SONOMA INC COM</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>969904101</cusip>
  <value>1033264</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5667</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5667</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WINGSTOP INC.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>974155103</cusip>
  <value>3641485</value>
  <shrsOrPrnAmt>
    <sshPrnamt>23498</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>23498</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ALPS ALERIAN MLP ETF</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>00162q452</cusip>
  <value>200506</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3809</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3809</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ISHARES 1-3 YEAR INTERNATIONAL</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>464288125</cusip>
  <value>623147</value>
  <shrsOrPrnAmt>
    <sshPrnamt>8400</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>8400</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ISHARES CORE MSCI EAFE ETF</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>46432f842</cusip>
  <value>807799</value>
  <shrsOrPrnAmt>
    <sshPrnamt>8923</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>8923</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ISHARES MSCI EAFE ETF</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>464287465</cusip>
  <value>2344427</value>
  <shrsOrPrnAmt>
    <sshPrnamt>24137</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>24137</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ISHARES MSCI EMERGING MARKETS </nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>46434g764</cusip>
  <value>387794</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4930</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4930</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ISHARES TR U.S. TECH ETF</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>464287721</cusip>
  <value>346512</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1910</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1910</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SPDR BLOOMBERG SHORT TERM INTE</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>78464a334</cusip>
  <value>600316</value>
  <shrsOrPrnAmt>
    <sshPrnamt>22300</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>22300</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SPDR FUND CONSUMER DISCRE SELE</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>81369y407</cusip>
  <value>291413</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2674</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2674</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SPDR GOLD TRUST</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>78463v107</cusip>
  <value>673404</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1565</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1565</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>STATE STREET SPDR S&amp;P 500 ETF </nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>78462f103</cusip>
  <value>264038</value>
  <shrsOrPrnAmt>
    <sshPrnamt>406</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>406</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>TECHNOLOGY SELECT SECTOR SPDR </nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>81369y803</cusip>
  <value>254105</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1912</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1912</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VANGUARD DIVIDEND       APPREC</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>921908844</cusip>
  <value>1115946</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5189</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5189</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VANGUARD FTSE ALL WORLD EX US </nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>922042775</cusip>
  <value>4282052</value>
  <shrsOrPrnAmt>
    <sshPrnamt>57018</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>57018</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VANGUARD FTSE DEVELOPED MARKET</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>921943858</cusip>
  <value>259204</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4045</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4045</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VANGUARD FTSE EMERGING MARKETS</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>922042858</cusip>
  <value>1075379</value>
  <shrsOrPrnAmt>
    <sshPrnamt>19896</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>19896</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VANGUARD HEALTH CARE</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>92204a504</cusip>
  <value>327885</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1204</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1204</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VANGUARD HIGH DIVIDEND YIELD E</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>921946406</cusip>
  <value>1468115</value>
  <shrsOrPrnAmt>
    <sshPrnamt>9913</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>9913</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VANGUARD INDEX FDS SMALL CP ET</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>922908751</cusip>
  <value>409119</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1562</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1562</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VANGUARD INFO TECHNOLOGY INDEX</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>92204a702</cusip>
  <value>399096</value>
  <shrsOrPrnAmt>
    <sshPrnamt>572</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>572</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VANGUARD MID CAP ETF</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>922908629</cusip>
  <value>228595</value>
  <shrsOrPrnAmt>
    <sshPrnamt>796</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>796</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VANGUARD REIT ETF</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>922908553</cusip>
  <value>489801</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5522</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5522</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VANGUARD S&amp;P 500 ETF</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>922908363</cusip>
  <value>8554526</value>
  <shrsOrPrnAmt>
    <sshPrnamt>14316</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>14316</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VANGUARD TOTAL STK MKT  ETF</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>922908769</cusip>
  <value>742675</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2315</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2315</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WISDOMTREE TR INDIA ERNGS FD</nameOfIssuer>
  <titleOfClass>ETFS</titleOfClass>
  <cusip>97717w422</cusip>
  <value>367200</value>
  <shrsOrPrnAmt>
    <sshPrnamt>9000</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>9000</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
</informationTable>
