<?xml version="1.0" ?>
<proxyVoteTable xmlns="http://www.sec.gov/edgar/document/npxproxy/informationtable">
  <proxyTable>
    <issuerName>Fedex Corporation</issuerName>
    <cusip>31428X106</cusip>
    <meetingDate>09/23/2024</meetingDate>
    <voteDescription>Advisory vote to approve named executive officer compensation</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>8333</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>8333</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Check Point Software Technologies</issuerName>
    <cusip>M22465104</cusip>
    <meetingDate>10/31/2024</meetingDate>
    <voteDescription>To approve compensation for Check Point's new Chief Executive Officer</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>11675</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>11675</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Automatic Data Processing</issuerName>
    <cusip>053015103</cusip>
    <meetingDate>11/06/2024</meetingDate>
    <voteDescription>Advisory vote on executive compensation</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>8520</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>8520</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Microsoft Corporation</issuerName>
    <cusip>594918104</cusip>
    <meetingDate>12/10/2024</meetingDate>
    <voteDescription>Advisory vote to approve named executive officer compensation</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>4801</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>4801</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Accenture PLC</issuerName>
    <cusip>G1151C101</cusip>
    <meetingDate>02/06/2025</meetingDate>
    <voteDescription>Approve, in a non-binding vote, the compensation of our named executive officers</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>6939</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>6939</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Qualcomm Inc</issuerName>
    <cusip>747525103</cusip>
    <meetingDate>03/18/2025</meetingDate>
    <voteDescription>Approval, on an advisory basis, the compensation of our named executive officers</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>9910</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>9910</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Johnson &amp; Johnson</issuerName>
    <cusip>478160104</cusip>
    <meetingDate>04/24/2025</meetingDate>
    <voteDescription>Advisory vote to approve named executive officer compensation</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>10715</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>10715</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Johnson &amp; Johnson</issuerName>
    <cusip>478160104</cusip>
    <meetingDate>04/24/2025</meetingDate>
    <voteDescription>Shareholder opportunity to vote on excessive golden parachutes</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>10715</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>AGAINST</howVoted>
        <sharesVoted>10715</sharesVoted>
        <managementRecommendation>AGAINST</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Fastenal Company</issuerName>
    <cusip>311900104</cusip>
    <meetingDate>04/24/2025</meetingDate>
    <voteDescription>Approval, by non-binding vote, of executive compensation</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>22033</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>22033</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Church &amp; Dwight Co, Inc.</issuerName>
    <cusip>171340102</cusip>
    <meetingDate>05/01/2025</meetingDate>
    <voteDescription>Advisory vote to approve compensation of named exceutive officers</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>14872</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>14872</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Illinois Tool Works Inc.</issuerName>
    <cusip>452308109</cusip>
    <meetingDate>05/02/2025</meetingDate>
    <voteDescription>Advisory vote to approve compensation of ITW's named executive officers</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>5773</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>5773</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Illinois Tool Works Inc.</issuerName>
    <cusip>452308109</cusip>
    <meetingDate>05/02/2025</meetingDate>
    <voteDescription>Non-binding proposal, if properly presented at the meeting, for ratification of termination pay (excessive golden parachute for named executive officers)</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>5773</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>AGAINST</howVoted>
        <sharesVoted>5773</sharesVoted>
        <managementRecommendation>AGAINST</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Expeditors Int'l of Washington, Inc.</issuerName>
    <cusip>302130109</cusip>
    <meetingDate>05/06/2025</meetingDate>
    <voteDescription>Advisory vote to approve named executive officer compensation</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>13257</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>13257</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Danaher Corporation</issuerName>
    <cusip>235851102</cusip>
    <meetingDate>05/06/2025</meetingDate>
    <voteDescription>Approve on an advisory basis the Company's named executive officer compensation</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>6688</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>6688</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Stryker</issuerName>
    <cusip>863667101</cusip>
    <meetingDate>05/08/2025</meetingDate>
    <voteDescription>Advisory vote to approve named executive officer compensation</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>4194</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>4194</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Fiserv, Inc.</issuerName>
    <cusip>337738108</cusip>
    <meetingDate>05/14/2025</meetingDate>
    <voteDescription>Approve, on an advisory basis, the compensation of named executive officers of Fiserv, Inc.</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>7676</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>7676</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Fiserv, Inc.</issuerName>
    <cusip>337738108</cusip>
    <meetingDate>05/14/2025</meetingDate>
    <voteDescription>Shareholder proposal requesting improved clawback policy regarding unearned executive pay</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>7676</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>AGAINST</howVoted>
        <sharesVoted>7676</sharesVoted>
        <managementRecommendation>AGAINST</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Motorola Solutions Inc.</issuerName>
    <cusip>620076307</cusip>
    <meetingDate>05/15/2025</meetingDate>
    <voteDescription>Advisory approval of the company's executive compensation</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>3344</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>3344</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Amphenol Corporation</issuerName>
    <cusip>032095101</cusip>
    <meetingDate>05/15/2025</meetingDate>
    <voteDescription>Advisory vote to approve compensation of named executive officer</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>21338</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>21338</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Intercontinental Exchange Inc.</issuerName>
    <cusip>45866F104</cusip>
    <meetingDate>05/16/2025</meetingDate>
    <voteDescription>Approve, by non-binding vote, the advisory resolution on executive compensation for named executive officers</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>10098</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>10098</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Thermo Fisher Scientific Inc.</issuerName>
    <cusip>883556102</cusip>
    <meetingDate>05/21/2025</meetingDate>
    <voteDescription>Advisory vote to approve named executive officer compensation</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>2982</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>2982</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Merck &amp; Co., Inc.</issuerName>
    <cusip>58933Y105</cusip>
    <meetingDate>05/27/2025</meetingDate>
    <voteDescription>Non-binding advisory vote to approve compensation of named executive officers</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>15403</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>15403</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Walmart Inc.</issuerName>
    <cusip>931142103</cusip>
    <meetingDate>06/05/2025</meetingDate>
    <voteDescription>Advisory vote to approve named executive officer compensation</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>16669</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>16669</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
  <proxyTable>
    <issuerName>Roper Technologies Inc.</issuerName>
    <cusip>776696106</cusip>
    <meetingDate>06/10/2025</meetingDate>
    <voteDescription>Advisory vote to approve compensation of named executive officer</voteDescription>
    <voteCategories>
      <voteCategory>
        <categoryType>SECTION 14A SAY-ON-PAY VOTES</categoryType>
      </voteCategory>
    </voteCategories>
    <sharesVoted>2890</sharesVoted>
    <sharesOnLoan>0</sharesOnLoan>
    <vote>
      <voteRecord>
        <howVoted>FOR</howVoted>
        <sharesVoted>2890</sharesVoted>
        <managementRecommendation>FOR</managementRecommendation>
      </voteRecord>
    </vote>
  </proxyTable>
</proxyVoteTable>
