<?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>Alphabet Inc CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>02079K305</cusip>
  <value>908148</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2541</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2541</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Alphabet Inc CL C</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>02079K107</cusip>
  <value>37134549</value>
  <shrsOrPrnAmt>
    <sshPrnamt>105099</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>105099</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Amazon.com Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>023135106</cusip>
  <value>19991482</value>
  <shrsOrPrnAmt>
    <sshPrnamt>83878</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>83878</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Apple Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>037833100</cusip>
  <value>32066269</value>
  <shrsOrPrnAmt>
    <sshPrnamt>110818</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>110818</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>AppLovin  Corporation</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>03831w108</cusip>
  <value>5029675</value>
  <shrsOrPrnAmt>
    <sshPrnamt>9762</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>9762</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Arista Networks Inc.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>040413205</cusip>
  <value>4537495</value>
  <shrsOrPrnAmt>
    <sshPrnamt>26710</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>26710</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Automatic Data Processing</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>053015103</cusip>
  <value>358320</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1600</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1600</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Bank of New York Mellon Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>064058100</cusip>
  <value>216915</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1500</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1500</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Bloom Energy Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>093712107</cusip>
  <value>11773819</value>
  <shrsOrPrnAmt>
    <sshPrnamt>38896</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>38896</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Broadcom LTD</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>11135f101</cusip>
  <value>25635144</value>
  <shrsOrPrnAmt>
    <sshPrnamt>67863</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>67863</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Capital One Financial Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>14040h105</cusip>
  <value>354897</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1769</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1769</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Comfort Systems USA Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>199908104</cusip>
  <value>8734454</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4407</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4407</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Costco Wholesale</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>22160K105</cusip>
  <value>5947201</value>
  <shrsOrPrnAmt>
    <sshPrnamt>6357</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>6357</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Crowdstrike Holdings Inc.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>22788c105</cusip>
  <value>4189639</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5490</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5490</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Eli Lilly &amp; Co</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>532457108</cusip>
  <value>12019230</value>
  <shrsOrPrnAmt>
    <sshPrnamt>10021</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>10021</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Emcor Group Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>29084q100</cusip>
  <value>8176808</value>
  <shrsOrPrnAmt>
    <sshPrnamt>9853</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>9853</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GE Vernova Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>36828a101</cusip>
  <value>8347380</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7105</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7105</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Geckosystems International</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>36840u101</cusip>
  <value>2</value>
  <shrsOrPrnAmt>
    <sshPrnamt>19000</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>19000</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>iShares Core S&amp;P U.S. Growth E</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>464287671</cusip>
  <value>947409</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5037</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5037</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>iShares Russell 1000 Growth ET</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>464287614</cusip>
  <value>229963</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1852</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1852</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>KLA Corporation</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>482480100</cusip>
  <value>675830</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2240</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2240</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>LAM Research Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>512807306</cusip>
  <value>1036959</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2393</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2393</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Lumentum Holdings Inc.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>55024u109</cusip>
  <value>6150574</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7168</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7168</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Meta Platforms Inc.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>30303m102</cusip>
  <value>9470595</value>
  <shrsOrPrnAmt>
    <sshPrnamt>16813</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>16813</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Mettler-Toledo Int&apos;l</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>592688105</cusip>
  <value>287440</value>
  <shrsOrPrnAmt>
    <sshPrnamt>225</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>225</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Micron Technology Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>595112103</cusip>
  <value>18262022</value>
  <shrsOrPrnAmt>
    <sshPrnamt>15821</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>15821</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Microsoft Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>594918104</cusip>
  <value>26666930</value>
  <shrsOrPrnAmt>
    <sshPrnamt>71489</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>71489</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Monolithic Power Sys</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>609839105</cusip>
  <value>5475528</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3961</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3961</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Nvidia Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>67066g104</cusip>
  <value>54282300</value>
  <shrsOrPrnAmt>
    <sshPrnamt>271289</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>271289</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Oracle Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>68389x105</cusip>
  <value>1879943</value>
  <shrsOrPrnAmt>
    <sshPrnamt>12828</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>12828</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Palantir Technologies Inc-A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>69608a108</cusip>
  <value>219690</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1883</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1883</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Quanta Services Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>74762e102</cusip>
  <value>207372</value>
  <shrsOrPrnAmt>
    <sshPrnamt>288</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>288</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Robinhood Markets Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>770700102</cusip>
  <value>5697007</value>
  <shrsOrPrnAmt>
    <sshPrnamt>56811</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>56811</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Thermo Fisher Scientific Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>883556102</cusip>
  <value>314854</value>
  <shrsOrPrnAmt>
    <sshPrnamt>628</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>628</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Vertiv Holdings Co A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>92537n108</cusip>
  <value>9662905</value>
  <shrsOrPrnAmt>
    <sshPrnamt>28860</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>28860</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Visa Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>92826c839</cusip>
  <value>6782465</value>
  <shrsOrPrnAmt>
    <sshPrnamt>19769</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>19769</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Airbus SE - Unsp ADR</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>009279100</cusip>
  <value>2713113</value>
  <shrsOrPrnAmt>
    <sshPrnamt>48797</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>48797</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ASML Holding ADR</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>n07059210</cusip>
  <value>5896700</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2964</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2964</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Banco Santander SA-SponADR</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>05964H105</cusip>
  <value>4054261</value>
  <shrsOrPrnAmt>
    <sshPrnamt>293787</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>293787</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BHP Group</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>088606108</cusip>
  <value>4334953</value>
  <shrsOrPrnAmt>
    <sshPrnamt>52034</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>52034</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Cameco Corporation</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>13321l108</cusip>
  <value>2182045</value>
  <shrsOrPrnAmt>
    <sshPrnamt>21422</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>21422</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Celestica Inc.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>15101q207</cusip>
  <value>6303014</value>
  <shrsOrPrnAmt>
    <sshPrnamt>17278</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>17278</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CRH Public Limited</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>g25508105</cusip>
  <value>3378418</value>
  <shrsOrPrnAmt>
    <sshPrnamt>31574</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>31574</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Embraer SA ADR</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>29082a107</cusip>
  <value>3623585</value>
  <shrsOrPrnAmt>
    <sshPrnamt>56796</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>56796</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Fabrinet</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>g3323l100</cusip>
  <value>1529420</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2721</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2721</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ING Groep N.V. - Spon ADR</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>456837103</cusip>
  <value>3736479</value>
  <shrsOrPrnAmt>
    <sshPrnamt>119072</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>119072</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>iShares MSCI South Korea ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>464286772</cusip>
  <value>4731930</value>
  <shrsOrPrnAmt>
    <sshPrnamt>23437</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>23437</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Kioxia Holdings Corporation</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>49726j108</cusip>
  <value>3293413</value>
  <shrsOrPrnAmt>
    <sshPrnamt>55679</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>55679</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Mitsubishi UFJ Financial Group</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>606822104</cusip>
  <value>3504379</value>
  <shrsOrPrnAmt>
    <sshPrnamt>176188</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>176188</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Nebius Group NV</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>n97284108</cusip>
  <value>5296388</value>
  <shrsOrPrnAmt>
    <sshPrnamt>19178</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>19178</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Royal Bank of Canada</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>780087102</cusip>
  <value>361784</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1748</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1748</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Schneider Electric</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>80687p106</cusip>
  <value>3453171</value>
  <shrsOrPrnAmt>
    <sshPrnamt>52979</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>52979</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Shell PLC ADR</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>780259305</cusip>
  <value>2406144</value>
  <shrsOrPrnAmt>
    <sshPrnamt>31031</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>31031</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Taiwan Semiconductor Mfg</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>874039100</cusip>
  <value>14152787</value>
  <shrsOrPrnAmt>
    <sshPrnamt>29635</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>29635</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>UBS AG-Reg</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>H42097107</cusip>
  <value>3458346</value>
  <shrsOrPrnAmt>
    <sshPrnamt>69781</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>69781</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>United Overseas Bank</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>911271302</cusip>
  <value>2739269</value>
  <shrsOrPrnAmt>
    <sshPrnamt>44583</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>44583</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Viking Holdings Ltd. </nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>g93a5a101</cusip>
  <value>2274060</value>
  <shrsOrPrnAmt>
    <sshPrnamt>21726</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>21726</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Zurich Insurance Group-ADR</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>989825104</cusip>
  <value>3497478</value>
  <shrsOrPrnAmt>
    <sshPrnamt>94575</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>94575</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>AAON Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>000360206</cusip>
  <value>3032461</value>
  <shrsOrPrnAmt>
    <sshPrnamt>23904</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>23904</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Advanced Micro Devices</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>007903107</cusip>
  <value>16580914</value>
  <shrsOrPrnAmt>
    <sshPrnamt>28543</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>28543</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>American Express</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>025816109</cusip>
  <value>4488239</value>
  <shrsOrPrnAmt>
    <sshPrnamt>13269</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>13269</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Amgen Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>031162100</cusip>
  <value>257829</value>
  <shrsOrPrnAmt>
    <sshPrnamt>712</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>712</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Amphenol Corp CL A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>032095101</cusip>
  <value>5968432</value>
  <shrsOrPrnAmt>
    <sshPrnamt>33850</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>33850</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Applied Materials Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>038222105</cusip>
  <value>7925526</value>
  <shrsOrPrnAmt>
    <sshPrnamt>10962</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>10962</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Berkshire Hathaway</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>084670702</cusip>
  <value>9961264</value>
  <shrsOrPrnAmt>
    <sshPrnamt>19907</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>19907</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Booking Holdings Inc.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>09857l108</cusip>
  <value>3689746</value>
  <shrsOrPrnAmt>
    <sshPrnamt>20701</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>20701</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>BrightSpring Health Services I</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>10950a106</cusip>
  <value>6975046</value>
  <shrsOrPrnAmt>
    <sshPrnamt>100015</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>100015</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Caterpillar Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>149123101</cusip>
  <value>9439274</value>
  <shrsOrPrnAmt>
    <sshPrnamt>8864</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>8864</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CBOE Holdings Inc.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>12503m108</cusip>
  <value>4809477</value>
  <shrsOrPrnAmt>
    <sshPrnamt>19819</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>19819</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Chevron Corp.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>166764100</cusip>
  <value>374618</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2260</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2260</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Cisco Systems Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>17275r102</cusip>
  <value>923588</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7863</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7863</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Conoco Phillips</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>20825c104</cusip>
  <value>3543685</value>
  <shrsOrPrnAmt>
    <sshPrnamt>34087</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>34087</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Corning Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>219350105</cusip>
  <value>6099668</value>
  <shrsOrPrnAmt>
    <sshPrnamt>23880</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>23880</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Evercore Inc - A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>29977a105</cusip>
  <value>4573247</value>
  <shrsOrPrnAmt>
    <sshPrnamt>13394</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>13394</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Exxon Mobil Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>30233q108</cusip>
  <value>7128171</value>
  <shrsOrPrnAmt>
    <sshPrnamt>52137</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>52137</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GE Aerospace</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>369604301</cusip>
  <value>3926781</value>
  <shrsOrPrnAmt>
    <sshPrnamt>10507</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>10507</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Goldman Sachs Group, Inc.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>38141g104</cusip>
  <value>6023720</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5956</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5956</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Guardian Pharmacy Services Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>40145w101</cusip>
  <value>6023963</value>
  <shrsOrPrnAmt>
    <sshPrnamt>143873</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>143873</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Intl Business Machines Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>459200101</cusip>
  <value>214282</value>
  <shrsOrPrnAmt>
    <sshPrnamt>762</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>762</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>iShares Core S&amp;P U.S. Value ET</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>464287663</cusip>
  <value>351709</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3193</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3193</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Johnson &amp; Johnson</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>478160104</cusip>
  <value>5695531</value>
  <shrsOrPrnAmt>
    <sshPrnamt>22426</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>22426</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>JP Morgan Chase</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>46625h100</cusip>
  <value>19551421</value>
  <shrsOrPrnAmt>
    <sshPrnamt>59730</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>59730</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Martin Marietta</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>573284106</cusip>
  <value>3826981</value>
  <shrsOrPrnAmt>
    <sshPrnamt>6636</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>6636</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Mastec Inc.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>576323109</cusip>
  <value>5194925</value>
  <shrsOrPrnAmt>
    <sshPrnamt>12486</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>12486</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Mastercard Inc-Cl A</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>57636Q104</cusip>
  <value>3860218</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7516</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7516</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Modine Manufacturing Company</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>607828100</cusip>
  <value>5811156</value>
  <shrsOrPrnAmt>
    <sshPrnamt>21763</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>21763</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>O&apos;Reilly Automotive</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>67103h107</cusip>
  <value>3040536</value>
  <shrsOrPrnAmt>
    <sshPrnamt>33017</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>33017</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PNC Financial Services Group</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>693475105</cusip>
  <value>3364350</value>
  <shrsOrPrnAmt>
    <sshPrnamt>13664</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>13664</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Procter &amp; Gamble Co</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>742718109</cusip>
  <value>205296</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1400</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1400</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Raytheon Tech Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>75513e101</cusip>
  <value>1372507</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7234</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7234</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Royal Caribbean Cruises LTD</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>v7780t103</cusip>
  <value>4207590</value>
  <shrsOrPrnAmt>
    <sshPrnamt>13251</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>13251</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Sandisk Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>80004c200</cusip>
  <value>7726135</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3398</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3398</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Target Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>87612e106</cusip>
  <value>3398864</value>
  <shrsOrPrnAmt>
    <sshPrnamt>26023</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>26023</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Teradyne Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>880770102</cusip>
  <value>8409139</value>
  <shrsOrPrnAmt>
    <sshPrnamt>17380</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>17380</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>TJX Companies Inc.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>872540109</cusip>
  <value>5991068</value>
  <shrsOrPrnAmt>
    <sshPrnamt>39545</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>39545</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Toll Brothers Inc</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>889478103</cusip>
  <value>5277272</value>
  <shrsOrPrnAmt>
    <sshPrnamt>32032</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>32032</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>United Rentals Inc.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>911363109</cusip>
  <value>3344291</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2952</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2952</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Vistra Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>92840m102</cusip>
  <value>529348</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3337</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3337</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Wal-Mart Stores</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>931142103</cusip>
  <value>5411752</value>
  <shrsOrPrnAmt>
    <sshPrnamt>47782</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>47782</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Western Digital Corp</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>958102105</cusip>
  <value>7649311</value>
  <shrsOrPrnAmt>
    <sshPrnamt>11976</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>11976</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Woodward, Inc.</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>980745103</cusip>
  <value>3561358</value>
  <shrsOrPrnAmt>
    <sshPrnamt>8371</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>8371</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Dimensional US Target Value</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>25434v609</cusip>
  <value>444564</value>
  <shrsOrPrnAmt>
    <sshPrnamt>6360</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>6360</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>iShares Core Intl Stock ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>46432f834</cusip>
  <value>931304</value>
  <shrsOrPrnAmt>
    <sshPrnamt>9758</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>9758</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>iShares Core MSCI EAFE ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>46432f842</cusip>
  <value>634820</value>
  <shrsOrPrnAmt>
    <sshPrnamt>6573</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>6573</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>iShares Core MSCI Emerging</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>46434g103</cusip>
  <value>491573</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5934</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5934</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>iShares Core S&amp;P 500 Index ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>464287200</cusip>
  <value>5800153</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7745</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7745</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>iShares Core S&amp;P Mid Cap ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>464287507</cusip>
  <value>622046</value>
  <shrsOrPrnAmt>
    <sshPrnamt>8067</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>8067</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>iShares Core S&amp;P SmallCap ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>464287804</cusip>
  <value>478300</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3225</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3225</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Schwab U S Large Cap ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>808524201</cusip>
  <value>2566662</value>
  <shrsOrPrnAmt>
    <sshPrnamt>87212</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>87212</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Schwab U S Mid Cap ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>808524508</cusip>
  <value>463714</value>
  <shrsOrPrnAmt>
    <sshPrnamt>12577</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>12577</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Schwab U S Small Cap ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>808524607</cusip>
  <value>280911</value>
  <shrsOrPrnAmt>
    <sshPrnamt>7775</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>7775</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SPDR MSCI ACWI ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>78463x848</cusip>
  <value>529930</value>
  <shrsOrPrnAmt>
    <sshPrnamt>13030</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>13030</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SPDR Portfolio Emerging Market</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>78463x509</cusip>
  <value>268997</value>
  <shrsOrPrnAmt>
    <sshPrnamt>5195</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>5195</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Vanguard FTSE Developed Market</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>921943858</cusip>
  <value>1493970</value>
  <shrsOrPrnAmt>
    <sshPrnamt>20968</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>20968</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Vanguard Large-Cap ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>922908637</cusip>
  <value>548536</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1595</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1595</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Vanguard Mega Cap Growth ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>921910816</cusip>
  <value>420649</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4785</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4785</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>Vanguard Mid-Cap ETF</nameOfIssuer>
  <titleOfClass>COM</titleOfClass>
  <cusip>922908629</cusip>
  <value>1166976</value>
  <shrsOrPrnAmt>
    <sshPrnamt>14484</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>14484</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
</informationTable>
