<?xml version="1.0"?>
<informationTable xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sec.gov/edgar/document/thirteenf/informationtable">
  <infoTable>
    <nameOfIssuer>ABBOTT LABORATORIES</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>002824100</cusip>
    <value>3122237</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31592</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>30919</Sole>
      <Shared>0</Shared>
      <None>673</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ABBVIE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00287Y109</cusip>
    <value>8578059</value>
    <shrsOrPrnAmt>
      <sshPrnamt>32792</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>32421</Sole>
      <Shared>0</Shared>
      <None>371</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ACADEMY SPORTS &amp; OUTDOORS IN</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00402L107</cusip>
    <value>549236</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11421</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11421</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ACM RESH INC</nameOfIssuer>
    <titleOfClass>COM CL A</titleOfClass>
    <cusip>00108J109</cusip>
    <value>2621808</value>
    <shrsOrPrnAmt>
      <sshPrnamt>32400</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>32400</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ACME UTD CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>004816104</cusip>
    <value>305938</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4824</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4824</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AGREE RLTY CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>008492100</cusip>
    <value>1257412</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18821</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18821</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALKERMES PLC</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G01767105</cusip>
    <value>553098</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13650</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13650</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALPHA PRO TECH LTD</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>020772109</cusip>
    <value>56576</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11050</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11050</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALPHABET INC</nameOfIssuer>
    <titleOfClass>CAP STK CL A</titleOfClass>
    <cusip>02079K305</cusip>
    <value>35095472</value>
    <shrsOrPrnAmt>
      <sshPrnamt>101998</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>100555</Sole>
      <Shared>0</Shared>
      <None>1443</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMAZON COM INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>023135106</cusip>
    <value>14941526</value>
    <shrsOrPrnAmt>
      <sshPrnamt>59970</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>58929</Sole>
      <Shared>0</Shared>
      <None>1041</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN CENTY ETF TR</nameOfIssuer>
    <titleOfClass>INTL SMCP VLU</titleOfClass>
    <cusip>025072802</cusip>
    <value>675218</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6173</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6067</Sole>
      <Shared>0</Shared>
      <None>106</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN CENTY ETF TR</nameOfIssuer>
    <titleOfClass>AVANTIS EMGMKT</titleOfClass>
    <cusip>025072604</cusip>
    <value>1120455</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11917</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11713</Sole>
      <Shared>0</Shared>
      <None>204</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN EAGLE OUTFITTERS IN</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>02553E106</cusip>
    <value>696567</value>
    <shrsOrPrnAmt>
      <sshPrnamt>39177</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>39177</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN ELEC PWR CO INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>025537101</cusip>
    <value>5388866</value>
    <shrsOrPrnAmt>
      <sshPrnamt>45422</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>45106</Sole>
      <Shared>0</Shared>
      <None>316</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN FINANCIAL GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>025932104</cusip>
    <value>409733</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2996</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2996</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN SHARED HOSPITAL SVC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>029595105</cusip>
    <value>42210</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29725</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>29725</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMGEN INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>031162100</cusip>
    <value>1903539</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4516</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4438</Sole>
      <Shared>0</Shared>
      <None>78</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMPHENOL CORP</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>032095101</cusip>
    <value>688394</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8166</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8166</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMPLIFY ETF TR</nameOfIssuer>
    <titleOfClass>BLOCK TECHN ETF</titleOfClass>
    <cusip>032108607</cusip>
    <value>426957</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6973</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6973</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMTECH SYS INC</nameOfIssuer>
    <titleOfClass>COM PAR $0.01N</titleOfClass>
    <cusip>032332504</cusip>
    <value>244988</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14600</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14600</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ANDERSONS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>034164103</cusip>
    <value>997326</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15180</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15158</Sole>
      <Shared>0</Shared>
      <None>22</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ANI PHARMACEUTICALS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00182C103</cusip>
    <value>352353</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4850</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4850</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>APPLE HOSPITALITY REIT INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>03784Y200</cusip>
    <value>703251</value>
    <shrsOrPrnAmt>
      <sshPrnamt>43518</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>43518</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>APPLE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>037833100</cusip>
    <value>35586436</value>
    <shrsOrPrnAmt>
      <sshPrnamt>106860</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>105416</Sole>
      <Shared>0</Shared>
      <None>1444</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>APPLIED INDL TECHNOLOGIES IN</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>03820C105</cusip>
    <value>1226150</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3690</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3690</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ARCBEST CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>03937C105</cusip>
    <value>686137</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5384</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5384</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ARCHER DANIELS MIDLAND CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>039483102</cusip>
    <value>544071</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6854</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6810</Sole>
      <Shared>0</Shared>
      <None>44</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ARGAN INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>04010E109</cusip>
    <value>242266</value>
    <shrsOrPrnAmt>
      <sshPrnamt>641</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>641</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ARISTA NETWORKS INC</nameOfIssuer>
    <titleOfClass>COM SHS</titleOfClass>
    <cusip>040413205</cusip>
    <value>2826033</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13881</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13881</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ASML HLDG NV</nameOfIssuer>
    <titleOfClass>N Y REGISTRY SHS</titleOfClass>
    <cusip>N07059210</cusip>
    <value>10527614</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5811</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5750</Sole>
      <Shared>0</Shared>
      <None>61</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ASSURED GUARANTY LTD</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>G0585R106</cusip>
    <value>985326</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14550</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14550</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ASTRAZENECA PLC</nameOfIssuer>
    <titleOfClass>ORD</titleOfClass>
    <cusip>G0593M107</cusip>
    <value>3776273</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23387</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23370</Sole>
      <Shared>0</Shared>
      <None>17</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AT&amp;T INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00206R102</cusip>
    <value>1069623</value>
    <shrsOrPrnAmt>
      <sshPrnamt>43837</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>42946</Sole>
      <Shared>0</Shared>
      <None>891</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AVERY DENNISON CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>053611109</cusip>
    <value>1052693</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6168</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6018</Sole>
      <Shared>0</Shared>
      <None>150</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AVISTA CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>05379B107</cusip>
    <value>626076</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17842</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>17826</Sole>
      <Shared>0</Shared>
      <None>16</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AVNET INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>053807103</cusip>
    <value>1184308</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11849</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11849</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AXCELIS TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>054540208</cusip>
    <value>447061</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3408</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3408</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AXOS FINANCIAL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>05465C100</cusip>
    <value>710999</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8213</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8213</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BANCORP INC DEL</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>05969A105</cusip>
    <value>2474413</value>
    <shrsOrPrnAmt>
      <sshPrnamt>51379</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>51188</Sole>
      <Shared>0</Shared>
      <None>191</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BANKUNITED INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>06652K103</cusip>
    <value>377648</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8949</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8949</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BERKSHIRE HATHAWAY INC DEL</nameOfIssuer>
    <titleOfClass>CL B NEW</titleOfClass>
    <cusip>084670702</cusip>
    <value>5299184</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10642</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10580</Sole>
      <Shared>0</Shared>
      <None>62</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BEST BUY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>086516101</cusip>
    <value>237277</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2689</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2489</Sole>
      <Shared>0</Shared>
      <None>200</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BLACKROCK INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>09290D101</cusip>
    <value>7368719</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6963</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6840</Sole>
      <Shared>0</Shared>
      <None>123</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BLUE BIRD CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>095306106</cusip>
    <value>211955</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3819</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3819</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BOISE CASCADE CO DEL</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>09739D100</cusip>
    <value>1375631</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18552</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18552</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BOOT BARN HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>099406100</cusip>
    <value>1392151</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11556</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11556</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BOS BETTER ONLINE SOLUTIONS</nameOfIssuer>
    <titleOfClass>SHS NEW NIS 80</titleOfClass>
    <cusip>M20115180</cusip>
    <value>169296</value>
    <shrsOrPrnAmt>
      <sshPrnamt>36565</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>36565</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BRADY CORP</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>104674106</cusip>
    <value>1377335</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16497</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16497</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BRINKER INTL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>109641100</cusip>
    <value>3835958</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19821</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>19821</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BROADCOM INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>11135F101</cusip>
    <value>13604398</value>
    <shrsOrPrnAmt>
      <sshPrnamt>38738</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>38254</Sole>
      <Shared>0</Shared>
      <None>484</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BROADWIND INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>11161T207</cusip>
    <value>113278</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27100</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>27100</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BUCKLE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>118440106</cusip>
    <value>689605</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16056</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16056</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CADENCE DESIGN SYSTEM INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>127387108</cusip>
    <value>4250803</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12874</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12694</Sole>
      <Shared>0</Shared>
      <None>180</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CAMBRIA ETF TR</nameOfIssuer>
    <titleOfClass>GLOBAL VALUE ETF</titleOfClass>
    <cusip>132061409</cusip>
    <value>382562</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10110</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10110</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CARETRUST REIT INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>14174T107</cusip>
    <value>315246</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8618</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8618</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CASEYS GEN STORES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>147528103</cusip>
    <value>5731085</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9419</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9359</Sole>
      <Shared>0</Shared>
      <None>60</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CATERPILLAR INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>149123101</cusip>
    <value>15413929</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19011</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18757</Sole>
      <Shared>0</Shared>
      <None>254</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CBAK ENERGY TECHNOLOGY LTD</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>G20080100</cusip>
    <value>69853</value>
    <shrsOrPrnAmt>
      <sshPrnamt>52521</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>52521</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CBRE GROUP INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>12504L109</cusip>
    <value>3608465</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28088</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>27709</Sole>
      <Shared>0</Shared>
      <None>379</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CELANESE CORP DEL</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>150870103</cusip>
    <value>562612</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12680</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12680</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CENTRAL GARDEN &amp; PET CO</nameOfIssuer>
    <titleOfClass>CL A NON-VTG</titleOfClass>
    <cusip>153527205</cusip>
    <value>558678</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16667</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16667</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CENTURY COMMUNITIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>156504300</cusip>
    <value>287332</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4769</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4769</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CF INDUSTRIES HOLD</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>125269100</cusip>
    <value>960436</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8337</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8316</Sole>
      <Shared>0</Shared>
      <None>21</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CHENIERE ENERGY INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>16411R208</cusip>
    <value>2373383</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8822</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8744</Sole>
      <Shared>0</Shared>
      <None>78</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CHEVRON CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>166764100</cusip>
    <value>8448426</value>
    <shrsOrPrnAmt>
      <sshPrnamt>41371</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>40899</Sole>
      <Shared>0</Shared>
      <None>472</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CISCO SYS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>17275R102</cusip>
    <value>2546741</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23662</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23447</Sole>
      <Shared>0</Shared>
      <None>215</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CLEARWAY ENERGY INC</nameOfIssuer>
    <titleOfClass>CL C</titleOfClass>
    <cusip>18539C204</cusip>
    <value>233165</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7966</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7966</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CLEVELAND-CLIFFS INC NEW</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>185899101</cusip>
    <value>272729</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24771</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>24771</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>COCA COLA CONS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>191098102</cusip>
    <value>4471125</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23623</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23579</Sole>
      <Shared>0</Shared>
      <None>44</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CORCEPT THERAPEUTICS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>218352102</cusip>
    <value>1972968</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17122</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>17122</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CORE NATURAL RESOURCES INC</nameOfIssuer>
    <titleOfClass>COM SHS</titleOfClass>
    <cusip>218937100</cusip>
    <value>286620</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3339</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3339</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>COSTCO WHOLESALE CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>22160K105</cusip>
    <value>3387377</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3721</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3644</Sole>
      <Shared>0</Shared>
      <None>77</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>COVISTA INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00737L103</cusip>
    <value>692019</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5663</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5663</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CPI AEROSTRUCTURES INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>125919308</cusip>
    <value>180513</value>
    <shrsOrPrnAmt>
      <sshPrnamt>34848</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>34848</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CPS TECHNOLOGIES CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>12619F104</cusip>
    <value>153609</value>
    <shrsOrPrnAmt>
      <sshPrnamt>41072</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>41072</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CRA INTL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>12618T105</cusip>
    <value>566318</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3450</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3450</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CURTISS WRIGHT CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>231561101</cusip>
    <value>955492</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1757</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1748</Sole>
      <Shared>0</Shared>
      <None>9</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DARDEN RESTAURANTS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>237194105</cusip>
    <value>830975</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4300</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4287</Sole>
      <Shared>0</Shared>
      <None>13</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DATA I O CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>237690102</cusip>
    <value>65638</value>
    <shrsOrPrnAmt>
      <sshPrnamt>22402</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>22402</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DECKERS OUTDOOR CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>243537107</cusip>
    <value>2456800</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31441</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>30961</Sole>
      <Shared>0</Shared>
      <None>480</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DEERE &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>244199105</cusip>
    <value>2150303</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3202</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3160</Sole>
      <Shared>0</Shared>
      <None>42</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DIGITAL RLTY TR INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>253868103</cusip>
    <value>626467</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3569</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3522</Sole>
      <Shared>0</Shared>
      <None>47</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DONNELLEY FINL SOLUTIONS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>25787G100</cusip>
    <value>819313</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17362</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>17362</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DORIAN LPG LTD</nameOfIssuer>
    <titleOfClass>SHS USD</titleOfClass>
    <cusip>Y2106R110</cusip>
    <value>563594</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10236</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10236</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DXC TECHNOLOGY CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>23355L106</cusip>
    <value>546677</value>
    <shrsOrPrnAmt>
      <sshPrnamt>50478</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>50478</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EA SERIES TRUST</nameOfIssuer>
    <titleOfClass>FREEDOM 100 EM</titleOfClass>
    <cusip>02072L607</cusip>
    <value>392126</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5605</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5605</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EATON CORP PLC</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G29183103</cusip>
    <value>6026683</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14025</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13873</Sole>
      <Shared>0</Shared>
      <None>152</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ELEVANCE HEALTH INC FORMERLY</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>036752103</cusip>
    <value>1352705</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3479</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3392</Sole>
      <Shared>0</Shared>
      <None>87</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ELI LILLY &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>532457108</cusip>
    <value>12207194</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10550</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10501</Sole>
      <Shared>0</Shared>
      <None>49</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ELTEK LTD</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>M40184208</cusip>
    <value>203888</value>
    <shrsOrPrnAmt>
      <sshPrnamt>25907</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>25907</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EMERGENT BIOSOLUTIONS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>29089Q105</cusip>
    <value>408956</value>
    <shrsOrPrnAmt>
      <sshPrnamt>61963</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>61963</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ENOVA INTL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>29357K103</cusip>
    <value>18272977</value>
    <shrsOrPrnAmt>
      <sshPrnamt>109347</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>108680</Sole>
      <Shared>0</Shared>
      <None>667</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ENPHASE ENERGY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>29355A107</cusip>
    <value>963869</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29217</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>29217</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ENSIGN GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>29358P101</cusip>
    <value>480224</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2792</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2792</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ENTERGY CORP NEW</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>29364G103</cusip>
    <value>496002</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4997</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4872</Sole>
      <Shared>0</Shared>
      <None>125</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EOS ENERGY ENTERPRISES INC</nameOfIssuer>
    <titleOfClass>COM CL A</titleOfClass>
    <cusip>29415C101</cusip>
    <value>39903</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13019</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13019</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EPLUS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>294268107</cusip>
    <value>421607</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4684</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4684</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EPR PPTYS</nameOfIssuer>
    <titleOfClass>COM SH BEN INT</titleOfClass>
    <cusip>26884U109</cusip>
    <value>406718</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7246</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7246</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ERO COPPER CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>296006109</cusip>
    <value>797751</value>
    <shrsOrPrnAmt>
      <sshPrnamt>21743</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>21743</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ESCO TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>296315104</cusip>
    <value>864789</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3262</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3262</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ETF SER SOLUTIONS</nameOfIssuer>
    <titleOfClass>DEFIA QUANT ETF</titleOfClass>
    <cusip>26922A420</cusip>
    <value>353729</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2333</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2333</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EVERCORE INC</nameOfIssuer>
    <titleOfClass>CLASS A</titleOfClass>
    <cusip>29977A105</cusip>
    <value>2108410</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8188</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8188</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EXCHANGE TRADED CONCEPTS TRU</nameOfIssuer>
    <titleOfClass>RANG NUCL RE ETF</titleOfClass>
    <cusip>301505475</cusip>
    <value>1829727</value>
    <shrsOrPrnAmt>
      <sshPrnamt>30379</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>30145</Sole>
      <Shared>0</Shared>
      <None>234</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EXXONMOBIL HOLDINGS CORP</nameOfIssuer>
    <titleOfClass>COM SHS</titleOfClass>
    <cusip>30233Q108</cusip>
    <value>4770691</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29313</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28921</Sole>
      <Shared>0</Shared>
      <None>392</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EZCORP INC</nameOfIssuer>
    <titleOfClass>CL A NON VTG</titleOfClass>
    <cusip>302301106</cusip>
    <value>1688791</value>
    <shrsOrPrnAmt>
      <sshPrnamt>56747</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>56747</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FEDERAL AGRIC MTG CORP</nameOfIssuer>
    <titleOfClass>CL C</titleOfClass>
    <cusip>313148306</cusip>
    <value>945004</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4567</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4567</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FEDERATED HERMES INC</nameOfIssuer>
    <titleOfClass>CL B</titleOfClass>
    <cusip>314211103</cusip>
    <value>679371</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12052</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12052</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FIDELITY COVINGTON TRUST</nameOfIssuer>
    <titleOfClass>ENHANCED LARGE</titleOfClass>
    <cusip>31609A107</cusip>
    <value>659329</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15937</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15603</Sole>
      <Shared>0</Shared>
      <None>334</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FIRST BANCORP CORPORATION</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>318672706</cusip>
    <value>1597258</value>
    <shrsOrPrnAmt>
      <sshPrnamt>60640</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>60640</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FIRST TR EXCH TRADED FD III</nameOfIssuer>
    <titleOfClass>SHRT DUR MNG MUN</titleOfClass>
    <cusip>33739P830</cusip>
    <value>834445</value>
    <shrsOrPrnAmt>
      <sshPrnamt>42880</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>42880</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FIRST TR EXCH TRADED FD III</nameOfIssuer>
    <titleOfClass>ULTRA SHT DUR MU</titleOfClass>
    <cusip>33740J104</cusip>
    <value>906863</value>
    <shrsOrPrnAmt>
      <sshPrnamt>45571</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>45571</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FIRST TR EXCHANGE-TRADED FD</nameOfIssuer>
    <titleOfClass>NASDAQ CYB ETF</titleOfClass>
    <cusip>33734X846</cusip>
    <value>1379241</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13379</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13214</Sole>
      <Shared>0</Shared>
      <None>165</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FLEXIBLE SOLUTIONS INTL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>33938T104</cusip>
    <value>109983</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18300</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18300</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FOX CORP</nameOfIssuer>
    <titleOfClass>CL B COM</titleOfClass>
    <cusip>35137L204</cusip>
    <value>728072</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12932</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12860</Sole>
      <Shared>0</Shared>
      <None>72</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FRIEDMAN INDS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>358435105</cusip>
    <value>229200</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FTI CONSULTING INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>302941109</cusip>
    <value>1053348</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7831</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7831</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GAIA INC NEW</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>36269P104</cusip>
    <value>13992</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10600</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10600</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GALLAGHER ARTHUR J &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>363576109</cusip>
    <value>3096821</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13576</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13482</Sole>
      <Shared>0</Shared>
      <None>94</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GE AEROSPACE</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>369604301</cusip>
    <value>2983306</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9553</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9507</Sole>
      <Shared>0</Shared>
      <None>46</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GENCO SHIPPING &amp; TRADING LTD</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>Y2685T131</cusip>
    <value>214355</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8194</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8194</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GENERAC HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>368736104</cusip>
    <value>2676484</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12933</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12926</Sole>
      <Shared>0</Shared>
      <None>7</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GEO GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>36162J106</cusip>
    <value>234345</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7691</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7691</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GIGACLOUD TECHNOLOGY INC</nameOfIssuer>
    <titleOfClass>CLASS A ORD</titleOfClass>
    <cusip>G38644103</cusip>
    <value>1013238</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19606</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>19606</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GLOBAL SELF STORAGE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>37955N106</cusip>
    <value>118331</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24100</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>24100</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GLOBAL X FDS</nameOfIssuer>
    <titleOfClass>DATA CTR DIG ETF</titleOfClass>
    <cusip>37954Y236</cusip>
    <value>691419</value>
    <shrsOrPrnAmt>
      <sshPrnamt>25476</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>24745</Sole>
      <Shared>0</Shared>
      <None>731</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GLOBAL X FDS</nameOfIssuer>
    <titleOfClass>DEFENSE TECH ETF</titleOfClass>
    <cusip>37960A529</cusip>
    <value>4262019</value>
    <shrsOrPrnAmt>
      <sshPrnamt>70939</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>70211</Sole>
      <Shared>0</Shared>
      <None>728</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GOLDMAN SACHS GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>38141G104</cusip>
    <value>12361943</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13730</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13576</Sole>
      <Shared>0</Shared>
      <None>154</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HALOZYME THERAPEUTICS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>40637H109</cusip>
    <value>3249734</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29436</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>29291</Sole>
      <Shared>0</Shared>
      <None>145</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HAVERTY FURNITURE COS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>419596101</cusip>
    <value>386910</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13983</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13983</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HCA HEALTHCARE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>40412C101</cusip>
    <value>1907528</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4470</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4423</Sole>
      <Shared>0</Shared>
      <None>47</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HF SINCLAIR CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>403949100</cusip>
    <value>1178910</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10985</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10985</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HOME DEPOT INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>437076102</cusip>
    <value>6807808</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23930</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23687</Sole>
      <Shared>0</Shared>
      <None>243</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HOULIHAN LOKEY INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>441593100</cusip>
    <value>721149</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5708</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5708</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>IDACORP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>451107106</cusip>
    <value>703197</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5379</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5379</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INGLES MKTS INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>457030104</cusip>
    <value>929458</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10958</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10958</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INNOSPEC INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>45768S105</cusip>
    <value>287390</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3015</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3015</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INNOVATIVE SOLUTIONS &amp; SUPPO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>45769N105</cusip>
    <value>378828</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20400</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>20400</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INNOVIVA INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>45781M101</cusip>
    <value>1917575</value>
    <shrsOrPrnAmt>
      <sshPrnamt>90409</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>90409</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INSIGHT ENTERPRISES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>45765U103</cusip>
    <value>634816</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4061</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4061</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INSTALLED BLDG PRODS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>45780R101</cusip>
    <value>1035960</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5399</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5380</Sole>
      <Shared>0</Shared>
      <None>19</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INTEGER HLDGS CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>45826H109</cusip>
    <value>1727331</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13671</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13671</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INTERDIGITAL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>45867G101</cusip>
    <value>633880</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1944</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1944</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INTERNATIONAL BUSINESS MACHS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>459200101</cusip>
    <value>1097891</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4992</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4981</Sole>
      <Shared>0</Shared>
      <None>11</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO ACTIVELY MANAGED EXC</nameOfIssuer>
    <titleOfClass>VAR RATE INVT</titleOfClass>
    <cusip>46090A879</cusip>
    <value>4205502</value>
    <shrsOrPrnAmt>
      <sshPrnamt>168052</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>155121</Sole>
      <Shared>0</Shared>
      <None>12931</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO ACTVELY MNGD ETC FD</nameOfIssuer>
    <titleOfClass>OPTIMUM YIELD</titleOfClass>
    <cusip>46090F100</cusip>
    <value>1030408</value>
    <shrsOrPrnAmt>
      <sshPrnamt>53389</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>52897</Sole>
      <Shared>0</Shared>
      <None>492</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO CURRENCYSHARES SWISS</nameOfIssuer>
    <titleOfClass>SWISS FRANC</titleOfClass>
    <cusip>46138R108</cusip>
    <value>263475</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2500</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2500</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO EXCH TRADED FD TR II</nameOfIssuer>
    <titleOfClass>S&amp;P SMALLCAP 600</titleOfClass>
    <cusip>46138G664</cusip>
    <value>2223226</value>
    <shrsOrPrnAmt>
      <sshPrnamt>39545</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>39283</Sole>
      <Shared>0</Shared>
      <None>262</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO EXCH TRADED FD TR II</nameOfIssuer>
    <titleOfClass>VAR RATE PFD</titleOfClass>
    <cusip>46138G870</cusip>
    <value>1364250</value>
    <shrsOrPrnAmt>
      <sshPrnamt>57539</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>57389</Sole>
      <Shared>0</Shared>
      <None>150</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO EXCH TRD SLF IDX FD</nameOfIssuer>
    <titleOfClass>BULLETSHS 31 MUN</titleOfClass>
    <cusip>46138J411</cusip>
    <value>1129942</value>
    <shrsOrPrnAmt>
      <sshPrnamt>56805</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>56805</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO EXCHANGE TRADED FD T</nameOfIssuer>
    <titleOfClass>S&amp;P SMLCP MOMENT</titleOfClass>
    <cusip>46137V498</cusip>
    <value>625724</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7670</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7529</Sole>
      <Shared>0</Shared>
      <None>141</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO EXCHANGE TRADED FD T</nameOfIssuer>
    <titleOfClass>S&amp;P500 EQL DIS</titleOfClass>
    <cusip>46137V381</cusip>
    <value>230361</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4454</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3485</Sole>
      <Shared>0</Shared>
      <None>969</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO EXCHANGE TRADED FD T</nameOfIssuer>
    <titleOfClass>S&amp;P500 EQL REL</titleOfClass>
    <cusip>46137V290</cusip>
    <value>502391</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15112</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15112</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO EXCHANGE TRADED FD T</nameOfIssuer>
    <titleOfClass>S&amp;P500 EQL TEC</titleOfClass>
    <cusip>46137V282</cusip>
    <value>1873322</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28444</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28242</Sole>
      <Shared>0</Shared>
      <None>202</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO QQQ TR</nameOfIssuer>
    <titleOfClass>UNIT SER 1</titleOfClass>
    <cusip>46090E103</cusip>
    <value>1463783</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1979</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1976</Sole>
      <Shared>0</Shared>
      <None>3</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESTAR HOLDING CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>46134L105</cusip>
    <value>254693</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8819</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8819</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>IRADIMED CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>46266A109</cusip>
    <value>211584</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2454</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2454</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES GOLD TR</nameOfIssuer>
    <titleOfClass>ISHARES NEW</titleOfClass>
    <cusip>464285204</cusip>
    <value>21491636</value>
    <shrsOrPrnAmt>
      <sshPrnamt>275181</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>272540</Sole>
      <Shared>0</Shared>
      <None>2641</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES INC</nameOfIssuer>
    <titleOfClass>MSCI STH KOR ETF</titleOfClass>
    <cusip>464286772</cusip>
    <value>2564769</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14032</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13971</Sole>
      <Shared>0</Shared>
      <None>61</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES INC</nameOfIssuer>
    <titleOfClass>MSCI CDA ETF</titleOfClass>
    <cusip>464286509</cusip>
    <value>408660</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES INC</nameOfIssuer>
    <titleOfClass>MSCI GERMANY ETF</titleOfClass>
    <cusip>464286806</cusip>
    <value>760806</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18417</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>17906</Sole>
      <Shared>0</Shared>
      <None>511</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES SILVER TR</nameOfIssuer>
    <titleOfClass>ISHARES</titleOfClass>
    <cusip>46428Q109</cusip>
    <value>4809526</value>
    <shrsOrPrnAmt>
      <sshPrnamt>88232</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>86316</Sole>
      <Shared>0</Shared>
      <None>1916</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>NATIONAL MUN ETF</titleOfClass>
    <cusip>464288414</cusip>
    <value>2075886</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20533</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>20533</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS 29 TRM TS</titleOfClass>
    <cusip>46436E825</cusip>
    <value>290698</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13696</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13696</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>10-20 YR TRS ETF</titleOfClass>
    <cusip>464288653</cusip>
    <value>299553</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3250</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2989</Sole>
      <Shared>0</Shared>
      <None>261</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>SELECT DIVID ETF</titleOfClass>
    <cusip>464287168</cusip>
    <value>1269210</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8346</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8199</Sole>
      <Shared>0</Shared>
      <None>147</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>SELECT US REIT</titleOfClass>
    <cusip>464287564</cusip>
    <value>566100</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>AGENCY BOND ETF</titleOfClass>
    <cusip>464288166</cusip>
    <value>1283914</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12051</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11687</Sole>
      <Shared>0</Shared>
      <None>364</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 26</titleOfClass>
    <cusip>46435U259</cusip>
    <value>918809</value>
    <shrsOrPrnAmt>
      <sshPrnamt>35835</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>35835</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>RUS TP200 GR ETF</titleOfClass>
    <cusip>464289438</cusip>
    <value>287832</value>
    <shrsOrPrnAmt>
      <sshPrnamt>976</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>976</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>RUS 1000 ETF</titleOfClass>
    <cusip>464287622</cusip>
    <value>2860894</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6875</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6875</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>MSCI EAFE ETF</titleOfClass>
    <cusip>464287465</cusip>
    <value>7479872</value>
    <shrsOrPrnAmt>
      <sshPrnamt>71998</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>71763</Sole>
      <Shared>0</Shared>
      <None>235</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>ISHS 1-5YR INVS</titleOfClass>
    <cusip>464288646</cusip>
    <value>9939727</value>
    <shrsOrPrnAmt>
      <sshPrnamt>194022</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>187678</Sole>
      <Shared>0</Shared>
      <None>6344</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 2033</titleOfClass>
    <cusip>46436E130</cusip>
    <value>3049474</value>
    <shrsOrPrnAmt>
      <sshPrnamt>124570</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>121924</Sole>
      <Shared>0</Shared>
      <None>2646</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC2026</titleOfClass>
    <cusip>46435GAA0</cusip>
    <value>1502444</value>
    <shrsOrPrnAmt>
      <sshPrnamt>61982</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>60455</Sole>
      <Shared>0</Shared>
      <None>1527</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>USD INV GRDE ETF</titleOfClass>
    <cusip>464288620</cusip>
    <value>228450</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4690</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4690</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>3 7 YR TREAS BD</titleOfClass>
    <cusip>464288661</cusip>
    <value>7043889</value>
    <shrsOrPrnAmt>
      <sshPrnamt>62094</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>60735</Sole>
      <Shared>0</Shared>
      <None>1359</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>ISHS 5-10YR INVT</titleOfClass>
    <cusip>464288638</cusip>
    <value>3610261</value>
    <shrsOrPrnAmt>
      <sshPrnamt>71703</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>69868</Sole>
      <Shared>0</Shared>
      <None>1835</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBOXX INV CP ETF</titleOfClass>
    <cusip>464287242</cusip>
    <value>4906786</value>
    <shrsOrPrnAmt>
      <sshPrnamt>48021</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>47711</Sole>
      <Shared>0</Shared>
      <None>310</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 27</titleOfClass>
    <cusip>46435U283</cusip>
    <value>521862</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20676</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>19741</Sole>
      <Shared>0</Shared>
      <None>935</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>EAFE GRWTH ETF</titleOfClass>
    <cusip>464288885</cusip>
    <value>858222</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7162</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7162</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 2032</titleOfClass>
    <cusip>46436E296</cusip>
    <value>3526652</value>
    <shrsOrPrnAmt>
      <sshPrnamt>162249</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>159226</Sole>
      <Shared>0</Shared>
      <None>3023</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>SHRT NAT MUN ETF</titleOfClass>
    <cusip>464288158</cusip>
    <value>2952172</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28240</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>27646</Sole>
      <Shared>0</Shared>
      <None>594</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>RUS 2000 VAL ETF</titleOfClass>
    <cusip>464287630</cusip>
    <value>1129564</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5393</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5020</Sole>
      <Shared>0</Shared>
      <None>373</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>BLOCKCHAIN &amp; TEC</titleOfClass>
    <cusip>46436E361</cusip>
    <value>627390</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13732</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13479</Sole>
      <Shared>0</Shared>
      <None>253</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>7-10 YR TRSY BD</titleOfClass>
    <cusip>464287440</cusip>
    <value>5607775</value>
    <shrsOrPrnAmt>
      <sshPrnamt>62790</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>61834</Sole>
      <Shared>0</Shared>
      <None>956</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>0-5 YR TIPS ETF</titleOfClass>
    <cusip>46429B747</cusip>
    <value>3087059</value>
    <shrsOrPrnAmt>
      <sshPrnamt>30963</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>30833</Sole>
      <Shared>0</Shared>
      <None>130</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>TIPS BD ETF</titleOfClass>
    <cusip>464287176</cusip>
    <value>2385325</value>
    <shrsOrPrnAmt>
      <sshPrnamt>22927</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>22833</Sole>
      <Shared>0</Shared>
      <None>94</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 28</titleOfClass>
    <cusip>46435U325</cusip>
    <value>359653</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14306</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14306</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>INTRM GOV CR ETF</titleOfClass>
    <cusip>464288612</cusip>
    <value>675727</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6556</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6556</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>1 3 YR TREAS BD</titleOfClass>
    <cusip>464287457</cusip>
    <value>9685010</value>
    <shrsOrPrnAmt>
      <sshPrnamt>119274</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>115919</Sole>
      <Shared>0</Shared>
      <None>3355</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>GLOBAL ENERG ETF</titleOfClass>
    <cusip>464287341</cusip>
    <value>1508793</value>
    <shrsOrPrnAmt>
      <sshPrnamt>26484</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>25756</Sole>
      <Shared>0</Shared>
      <None>728</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CORE S&amp;P SCP ETF</titleOfClass>
    <cusip>464287804</cusip>
    <value>230452</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1694</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1537</Sole>
      <Shared>0</Shared>
      <None>157</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>FLTG RATE NT ETF</titleOfClass>
    <cusip>46429B655</cusip>
    <value>10607320</value>
    <shrsOrPrnAmt>
      <sshPrnamt>207783</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>201037</Sole>
      <Shared>0</Shared>
      <None>6746</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS 27 ETF</titleOfClass>
    <cusip>46435UAA9</cusip>
    <value>1308848</value>
    <shrsOrPrnAmt>
      <sshPrnamt>54264</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>53343</Sole>
      <Shared>0</Shared>
      <None>921</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>ISHARES SEMICDTR</titleOfClass>
    <cusip>464287523</cusip>
    <value>367910</value>
    <shrsOrPrnAmt>
      <sshPrnamt>647</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>647</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>RUS 1000 VAL ETF</titleOfClass>
    <cusip>464287598</cusip>
    <value>692716</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2794</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2794</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CONV BD ETF</titleOfClass>
    <cusip>46435G102</cusip>
    <value>589972</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5224</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5024</Sole>
      <Shared>0</Shared>
      <None>200</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 2032</titleOfClass>
    <cusip>46436E312</cusip>
    <value>338617</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14068</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14068</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>20 YR TR BD ETF</titleOfClass>
    <cusip>464287432</cusip>
    <value>2032236</value>
    <shrsOrPrnAmt>
      <sshPrnamt>26128</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>25891</Sole>
      <Shared>0</Shared>
      <None>237</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>TRUST ISHARE 0-1</titleOfClass>
    <cusip>464288679</cusip>
    <value>3080686</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27925</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>27600</Sole>
      <Shared>0</Shared>
      <None>325</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>MICRO-CAP ETF</titleOfClass>
    <cusip>464288869</cusip>
    <value>1737674</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9403</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9403</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>RUSSELL 2000 ETF</titleOfClass>
    <cusip>464287655</cusip>
    <value>11007786</value>
    <shrsOrPrnAmt>
      <sshPrnamt>39612</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>39511</Sole>
      <Shared>0</Shared>
      <None>101</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>EXPANDED TECH</titleOfClass>
    <cusip>464287515</cusip>
    <value>1683981</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15815</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15682</Sole>
      <Shared>0</Shared>
      <None>133</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>MBS ETF</titleOfClass>
    <cusip>464288588</cusip>
    <value>2608749</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29109</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28873</Sole>
      <Shared>0</Shared>
      <None>236</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CORE US AGGBD ET</titleOfClass>
    <cusip>464287226</cusip>
    <value>7092291</value>
    <shrsOrPrnAmt>
      <sshPrnamt>75019</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>73409</Sole>
      <Shared>0</Shared>
      <None>1610</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBOND DEC 2030</titleOfClass>
    <cusip>46436E593</cusip>
    <value>272507</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14350</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14350</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>TRS FLT RT BD</titleOfClass>
    <cusip>46434V860</cusip>
    <value>2180127</value>
    <shrsOrPrnAmt>
      <sshPrnamt>43026</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>42618</Sole>
      <Shared>0</Shared>
      <None>408</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS 26 TRM TS</titleOfClass>
    <cusip>46436E858</cusip>
    <value>251680</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>MSCI EMG MKT ETF</titleOfClass>
    <cusip>464287234</cusip>
    <value>2191847</value>
    <shrsOrPrnAmt>
      <sshPrnamt>32817</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>32817</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>10+ YR INVST GRD</titleOfClass>
    <cusip>464289511</cusip>
    <value>692343</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15163</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15127</Sole>
      <Shared>0</Shared>
      <None>36</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 2029</titleOfClass>
    <cusip>46436E163</cusip>
    <value>835083</value>
    <shrsOrPrnAmt>
      <sshPrnamt>33768</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>32838</Sole>
      <Shared>0</Shared>
      <None>930</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 29</titleOfClass>
    <cusip>46436E205</cusip>
    <value>499407</value>
    <shrsOrPrnAmt>
      <sshPrnamt>22010</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>22010</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CORE S&amp;P500 ETF</titleOfClass>
    <cusip>464287200</cusip>
    <value>2336991</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3052</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3039</Sole>
      <Shared>0</Shared>
      <None>13</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JABIL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>466313103</cusip>
    <value>8829843</value>
    <shrsOrPrnAmt>
      <sshPrnamt>30781</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>30451</Sole>
      <Shared>0</Shared>
      <None>330</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JANUS DETROIT STR TR</nameOfIssuer>
    <titleOfClass>HENDERSON MTG</titleOfClass>
    <cusip>47103U852</cusip>
    <value>1414574</value>
    <shrsOrPrnAmt>
      <sshPrnamt>33473</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>30927</Sole>
      <Shared>0</Shared>
      <None>2546</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JOHNSON &amp; JOHNSON</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>478160104</cusip>
    <value>8620238</value>
    <shrsOrPrnAmt>
      <sshPrnamt>32561</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>31712</Sole>
      <Shared>0</Shared>
      <None>849</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JPMORGAN CHASE &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>46625H100</cusip>
    <value>22058752</value>
    <shrsOrPrnAmt>
      <sshPrnamt>66677</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>65626</Sole>
      <Shared>0</Shared>
      <None>1051</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KINIKSA PHARMACEUTICALS INTL</nameOfIssuer>
    <titleOfClass>ORD SHS CL A</titleOfClass>
    <cusip>G52694109</cusip>
    <value>524284</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7027</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7027</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KITE REALTY GROUP TRUST</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>49803T300</cusip>
    <value>583970</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23943</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23943</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KONTOOR BRANDS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>50050N103</cusip>
    <value>815860</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12944</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12929</Sole>
      <Shared>0</Shared>
      <None>15</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KOSS CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>500692108</cusip>
    <value>62210</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15475</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15475</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LAM RESEARCH CORP</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>512807306</cusip>
    <value>1154056</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3513</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3500</Sole>
      <Shared>0</Shared>
      <None>13</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LINDE PLC</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G54950103</cusip>
    <value>4897439</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10318</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10171</Sole>
      <Shared>0</Shared>
      <None>147</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LOCKHEED MARTIN CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>539830109</cusip>
    <value>775079</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1522</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1489</Sole>
      <Shared>0</Shared>
      <None>33</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LPL FINL HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>50212V100</cusip>
    <value>1673643</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5473</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5372</Sole>
      <Shared>0</Shared>
      <None>101</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>M/I HOMES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>55305B101</cusip>
    <value>5703027</value>
    <shrsOrPrnAmt>
      <sshPrnamt>42204</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>41964</Sole>
      <Shared>0</Shared>
      <None>240</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MAGNOLIA OIL &amp; GAS CORP</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>559663109</cusip>
    <value>556408</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23687</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23674</Sole>
      <Shared>0</Shared>
      <None>13</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MANHATTAN BRDG CAP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>562803106</cusip>
    <value>78388</value>
    <shrsOrPrnAmt>
      <sshPrnamt>21186</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>21186</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MARATHON PETE CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>56585A102</cusip>
    <value>278376</value>
    <shrsOrPrnAmt>
      <sshPrnamt>704</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>704</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MASTECH HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>57633B100</cusip>
    <value>84882</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12126</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12126</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MASTERCARD INCORPORATED</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>57636Q104</cusip>
    <value>10164144</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18431</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18188</Sole>
      <Shared>0</Shared>
      <None>243</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MATADOR RES CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>576485205</cusip>
    <value>2405794</value>
    <shrsOrPrnAmt>
      <sshPrnamt>46642</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>46513</Sole>
      <Shared>0</Shared>
      <None>129</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MCDONALDS CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>580135101</cusip>
    <value>7026920</value>
    <shrsOrPrnAmt>
      <sshPrnamt>30427</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>30183</Sole>
      <Shared>0</Shared>
      <None>244</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MCKESSON CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>58155Q103</cusip>
    <value>3081400</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3609</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3587</Sole>
      <Shared>0</Shared>
      <None>22</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MERCHANTS BANCORP IND</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>58844R108</cusip>
    <value>1163779</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23770</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23770</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>META PLATFORMS INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>30303M102</cusip>
    <value>13072820</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18027</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>17860</Sole>
      <Shared>0</Shared>
      <None>167</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MGIC INVT CORP WIS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>552848103</cusip>
    <value>1492751</value>
    <shrsOrPrnAmt>
      <sshPrnamt>57769</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>57769</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MICROSOFT CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>594918104</cusip>
    <value>35161018</value>
    <shrsOrPrnAmt>
      <sshPrnamt>68553</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>67661</Sole>
      <Shared>0</Shared>
      <None>892</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MODINE MFG CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>607828100</cusip>
    <value>583877</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3119</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3119</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MUELLER WTR PRODS INC</nameOfIssuer>
    <titleOfClass>COM SER A</titleOfClass>
    <cusip>624758108</cusip>
    <value>669549</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31523</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>31523</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MURPHY OIL CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>626717102</cusip>
    <value>677059</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18289</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18289</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NATIONAL HEALTHCARE CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>635906100</cusip>
    <value>1197647</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5456</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5456</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NATURAL ALTERNATIVES INTL IN</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>638842302</cusip>
    <value>14933</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10022</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10022</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NELNET INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>64031N108</cusip>
    <value>1705520</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13857</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13857</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NETAPP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>64110D104</cusip>
    <value>857547</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4082</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4082</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NETFLIX INC.</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>64110L106</cusip>
    <value>1290013</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18540</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18318</Sole>
      <Shared>0</Shared>
      <None>222</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NEWMONT CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>651639106</cusip>
    <value>375201</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3253</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3241</Sole>
      <Shared>0</Shared>
      <None>12</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NEXSTAR MEDIA GROUP INC</nameOfIssuer>
    <titleOfClass>COMMON STOCK</titleOfClass>
    <cusip>65336K103</cusip>
    <value>448518</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2776</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2776</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NEXTERA ENERGY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>65339F101</cusip>
    <value>1456102</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19225</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18993</Sole>
      <Shared>0</Shared>
      <None>232</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NORTHERN OIL &amp; GAS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>665531307</cusip>
    <value>388228</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16968</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16968</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NORTHROP GRUMMAN CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>666807102</cusip>
    <value>539229</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1115</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1074</Sole>
      <Shared>0</Shared>
      <None>41</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NOVA LTD</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>M7516K103</cusip>
    <value>11159629</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28971</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28696</Sole>
      <Shared>0</Shared>
      <None>275</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NUCOR CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>670346105</cusip>
    <value>580401</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2483</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2431</Sole>
      <Shared>0</Shared>
      <None>52</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NUVEEN CALIFORNIA MUNI VLU F</nameOfIssuer>
    <titleOfClass>COM STK</titleOfClass>
    <cusip>67062C107</cusip>
    <value>86853</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10230</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10230</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NUVEEN MUN VALUE FD INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>670928100</cusip>
    <value>448622</value>
    <shrsOrPrnAmt>
      <sshPrnamt>54116</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>54116</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NVIDIA CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>67066G104</cusip>
    <value>40190772</value>
    <shrsOrPrnAmt>
      <sshPrnamt>175982</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>173666</Sole>
      <Shared>0</Shared>
      <None>2316</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NWPX INFRASTRUCTURE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>667746101</cusip>
    <value>349684</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3394</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3394</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>OFG BANCORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>67103X102</cusip>
    <value>993237</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19833</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>19833</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>OPTION CARE HEALTH INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>68404L201</cusip>
    <value>452544</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20122</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>20122</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>OPUS GENETICS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>67577R102</cusip>
    <value>79202</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16364</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16364</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>OTTER TAIL CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>689648103</cusip>
    <value>1019591</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11581</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11576</Sole>
      <Shared>0</Shared>
      <None>5</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PATRICK INDS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>703343103</cusip>
    <value>1301647</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19204</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>19204</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PC CONNECTION INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>69318J100</cusip>
    <value>3167073</value>
    <shrsOrPrnAmt>
      <sshPrnamt>35100</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>35100</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PENNANT GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>70805E109</cusip>
    <value>370851</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9509</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9509</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PETROLEO BRASILEIRO S A</nameOfIssuer>
    <titleOfClass>SPONSORED ADR</titleOfClass>
    <cusip>71654V408</cusip>
    <value>455091</value>
    <shrsOrPrnAmt>
      <sshPrnamt>21806</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>21806</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PFIZER INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>717081103</cusip>
    <value>627982</value>
    <shrsOrPrnAmt>
      <sshPrnamt>22019</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>21610</Sole>
      <Shared>0</Shared>
      <None>409</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PHIBRO ANIMAL HEALTH CORP</nameOfIssuer>
    <titleOfClass>CL A COM</titleOfClass>
    <cusip>71742Q106</cusip>
    <value>223732</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6260</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6260</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PHOTRONICS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>719405102</cusip>
    <value>1328773</value>
    <shrsOrPrnAmt>
      <sshPrnamt>43170</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>43170</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PIONEER PWR SOLUTIONS INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>723836300</cusip>
    <value>73637</value>
    <shrsOrPrnAmt>
      <sshPrnamt>21786</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>21786</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PIPER SANDLER COMPANIES</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>724078209</cusip>
    <value>2476250</value>
    <shrsOrPrnAmt>
      <sshPrnamt>37536</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>37536</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PORTLAND GEN ELEC CO</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>736508847</cusip>
    <value>580859</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13015</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13015</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>POWELL INDS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>739128106</cusip>
    <value>1376884</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7464</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7464</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PRICESMART INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>741511109</cusip>
    <value>1385180</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8191</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8191</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PRIMERICA INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>74164M108</cusip>
    <value>1118978</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4108</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4078</Sole>
      <Shared>0</Shared>
      <None>30</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PRO-DEX INC COLO</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>74265M205</cusip>
    <value>207000</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PROCTER &amp; GAMBLE CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>742718109</cusip>
    <value>6113382</value>
    <shrsOrPrnAmt>
      <sshPrnamt>42080</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>33351</Sole>
      <Shared>0</Shared>
      <None>8729</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PROGRESS SOFTWARE CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>743312100</cusip>
    <value>466730</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11677</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11677</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PROLOGIS INC.</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>74340W103</cusip>
    <value>798646</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6151</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6086</Sole>
      <Shared>0</Shared>
      <None>65</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>RADIAN GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>750236101</cusip>
    <value>1137590</value>
    <shrsOrPrnAmt>
      <sshPrnamt>37164</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>37164</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>RAVE RESTAURANT GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>754198109</cusip>
    <value>57500</value>
    <shrsOrPrnAmt>
      <sshPrnamt>25000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>25000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>REGIONS FINANCIAL CORP NEW</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>7591EP100</cusip>
    <value>3703096</value>
    <shrsOrPrnAmt>
      <sshPrnamt>137764</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>137702</Sole>
      <Shared>0</Shared>
      <None>62</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>REX AMERICAN RES CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>761624105</cusip>
    <value>313709</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7220</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7220</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ROCKY BRANDS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>774515100</cusip>
    <value>243337</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5445</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5445</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>RTX CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>75513E101</cusip>
    <value>2149456</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11578</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11507</Sole>
      <Shared>0</Shared>
      <None>71</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>RYDER SYS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>783549108</cusip>
    <value>3010942</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13214</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13207</Sole>
      <Shared>0</Shared>
      <None>7</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SABRA HEALTH CARE REIT INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>78573L106</cusip>
    <value>955592</value>
    <shrsOrPrnAmt>
      <sshPrnamt>48458</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>48458</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SANDISK CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>80004C200</cusip>
    <value>487169</value>
    <shrsOrPrnAmt>
      <sshPrnamt>280</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>279</Sole>
      <Shared>0</Shared>
      <None>1</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCANSOURCE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>806037107</cusip>
    <value>762550</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12984</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12984</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>EMRG MKTEQ ETF</titleOfClass>
    <cusip>808524706</cusip>
    <value>1861046</value>
    <shrsOrPrnAmt>
      <sshPrnamt>51058</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>49048</Sole>
      <Shared>0</Shared>
      <None>2010</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>FUNDAMENTAL US B</titleOfClass>
    <cusip>808524789</cusip>
    <value>4000989</value>
    <shrsOrPrnAmt>
      <sshPrnamt>130709</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>128454</Sole>
      <Shared>0</Shared>
      <None>2255</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>US BRD MKT ETF</titleOfClass>
    <cusip>808524102</cusip>
    <value>8280994</value>
    <shrsOrPrnAmt>
      <sshPrnamt>282531</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>277462</Sole>
      <Shared>0</Shared>
      <None>5069</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>US LCAP GR ETF</titleOfClass>
    <cusip>808524300</cusip>
    <value>3859756</value>
    <shrsOrPrnAmt>
      <sshPrnamt>107424</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>105426</Sole>
      <Shared>0</Shared>
      <None>1998</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>FUNDAMENTAL INTL</titleOfClass>
    <cusip>808524755</cusip>
    <value>634788</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11810</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11451</Sole>
      <Shared>0</Shared>
      <None>359</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>INTL EQTY ETF</titleOfClass>
    <cusip>808524805</cusip>
    <value>2309945</value>
    <shrsOrPrnAmt>
      <sshPrnamt>84090</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>82625</Sole>
      <Shared>0</Shared>
      <None>1465</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>US MID-CAP ETF</titleOfClass>
    <cusip>808524508</cusip>
    <value>1128217</value>
    <shrsOrPrnAmt>
      <sshPrnamt>33163</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>32574</Sole>
      <Shared>0</Shared>
      <None>589</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>ULTRA SHORT INCM</titleOfClass>
    <cusip>808524623</cusip>
    <value>422953</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16844</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16536</Sole>
      <Shared>0</Shared>
      <None>308</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>ST STR TECHN ETF</titleOfClass>
    <cusip>81369Y803</cusip>
    <value>10550338</value>
    <shrsOrPrnAmt>
      <sshPrnamt>53897</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>52791</Sole>
      <Shared>0</Shared>
      <None>1106</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>ST STR REAL ETF</titleOfClass>
    <cusip>81369Y860</cusip>
    <value>587468</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14360</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14289</Sole>
      <Shared>0</Shared>
      <None>71</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>ST STR CARE ETF</titleOfClass>
    <cusip>81369Y209</cusip>
    <value>3527052</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20942</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>20341</Sole>
      <Shared>0</Shared>
      <None>601</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>ST STR FINL ETF</titleOfClass>
    <cusip>81369Y605</cusip>
    <value>540622</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10124</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9959</Sole>
      <Shared>0</Shared>
      <None>165</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>ST STR DISCR ETF</titleOfClass>
    <cusip>81369Y407</cusip>
    <value>1078169</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9906</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9604</Sole>
      <Shared>0</Shared>
      <None>302</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>ST STR SVC ETF</titleOfClass>
    <cusip>81369Y852</cusip>
    <value>3039912</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27394</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>26942</Sole>
      <Shared>0</Shared>
      <None>452</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>ST STR INDL ETF</titleOfClass>
    <cusip>81369Y704</cusip>
    <value>722189</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4325</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4265</Sole>
      <Shared>0</Shared>
      <None>60</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>ST STR UTIL ETF</titleOfClass>
    <cusip>81369Y886</cusip>
    <value>319701</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8106</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7732</Sole>
      <Shared>0</Shared>
      <None>374</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SHELL PLC</nameOfIssuer>
    <titleOfClass>SPON ADS</titleOfClass>
    <cusip>780259305</cusip>
    <value>727798</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7657</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7546</Sole>
      <Shared>0</Shared>
      <None>111</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SIMON PPTY GROUP INC NEW</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>828806109</cusip>
    <value>668932</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3332</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3328</Sole>
      <Shared>0</Shared>
      <None>4</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SM ENERGY COMPANY</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>78454L100</cusip>
    <value>226326</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6700</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6700</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SOUTHERN COPPER CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>84265V105</cusip>
    <value>3106365</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15329</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15152</Sole>
      <Shared>0</Shared>
      <None>177</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SOUTHSTATE BK CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>84472E102</cusip>
    <value>735251</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7385</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7385</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR GOLD TR</nameOfIssuer>
    <titleOfClass>GOLD SHS</titleOfClass>
    <cusip>78463V107</cusip>
    <value>1422437</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3735</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3655</Sole>
      <Shared>0</Shared>
      <None>80</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR INDEX SHS FDS</nameOfIssuer>
    <titleOfClass>ST STR PO EX ETF</titleOfClass>
    <cusip>78463X889</cusip>
    <value>378483</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7538</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7538</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>ST STR SP DIV</titleOfClass>
    <cusip>78464A763</cusip>
    <value>272306</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1859</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1859</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>ST STR SP REGBNK</titleOfClass>
    <cusip>78464A698</cusip>
    <value>1037989</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14948</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14878</Sole>
      <Shared>0</Shared>
      <None>70</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>ST SHOR CORP ETF</titleOfClass>
    <cusip>78464A474</cusip>
    <value>1461657</value>
    <shrsOrPrnAmt>
      <sshPrnamt>49397</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>44599</Sole>
      <Shared>0</Shared>
      <None>4798</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>ST STR SP HOME</titleOfClass>
    <cusip>78464A888</cusip>
    <value>984596</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10253</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10253</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>ST STR CONV ETF</titleOfClass>
    <cusip>78464A359</cusip>
    <value>611835</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6047</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5609</Sole>
      <Shared>0</Shared>
      <None>438</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>ST NUVE TERM ETF</titleOfClass>
    <cusip>78468R739</cusip>
    <value>4061607</value>
    <shrsOrPrnAmt>
      <sshPrnamt>87066</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>87066</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>SST SPDR BLOOMBE</titleOfClass>
    <cusip>78464A391</cusip>
    <value>407715</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19792</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>19580</Sole>
      <Shared>0</Shared>
      <None>212</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPINNAKER ETF SERIES</nameOfIssuer>
    <titleOfClass>SELE STO EUR ETF</titleOfClass>
    <cusip>84858T772</cusip>
    <value>1150970</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27476</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>27243</Sole>
      <Shared>0</Shared>
      <None>233</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STAG INDUSTRIAL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>85254J102</cusip>
    <value>461949</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12900</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12900</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STATE STR SPDR S&amp;P 500 ETF T</nameOfIssuer>
    <titleOfClass>TR UNIT</titleOfClass>
    <cusip>78462F103</cusip>
    <value>2884267</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3782</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3768</Sole>
      <Shared>0</Shared>
      <None>14</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STEEL DYNAMICS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>858119100</cusip>
    <value>2384524</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10760</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10670</Sole>
      <Shared>0</Shared>
      <None>90</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STERLING INFRASTRUCTURE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>859241101</cusip>
    <value>1320921</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2686</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2686</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SUPER MICRO COMPUTER INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>86800U302</cusip>
    <value>212332</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5170</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5170</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SUPERNUS PHARMACEUTICALS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>868459108</cusip>
    <value>985788</value>
    <shrsOrPrnAmt>
      <sshPrnamt>22904</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>22904</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SURGEPAYS INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>86882L204</cusip>
    <value>4885</value>
    <shrsOrPrnAmt>
      <sshPrnamt>32500</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>32500</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>T-MOBILE US INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>872590104</cusip>
    <value>3003607</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18418</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18262</Sole>
      <Shared>0</Shared>
      <None>156</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TAIWAN SEMICONDUCTOR MANUFAC</nameOfIssuer>
    <titleOfClass>SPONSORED ADS</titleOfClass>
    <cusip>874039100</cusip>
    <value>3937832</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8632</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8618</Sole>
      <Shared>0</Shared>
      <None>14</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TANDY LEATHER FACTORY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>87538X105</cusip>
    <value>31363</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12573</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12573</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TD SYNNEX CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>87162W100</cusip>
    <value>413272</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1609</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1507</Sole>
      <Shared>0</Shared>
      <None>102</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TERRENO RLTY CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>88146M101</cusip>
    <value>710115</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11001</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11001</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>THE CIGNA GROUP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>125523100</cusip>
    <value>1268902</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4668</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4588</Sole>
      <Shared>0</Shared>
      <None>80</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TJX COS INC NEW</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>872540109</cusip>
    <value>3795974</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28690</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28441</Sole>
      <Shared>0</Shared>
      <None>249</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TRIO TECH INTL</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>896712205</cusip>
    <value>156104</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24016</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>24016</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UBER TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>90353T100</cusip>
    <value>474363</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6924</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6907</Sole>
      <Shared>0</Shared>
      <None>17</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UFP TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>902673102</cusip>
    <value>365089</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1230</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1230</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UIPATH INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>90364P105</cusip>
    <value>1172908</value>
    <shrsOrPrnAmt>
      <sshPrnamt>91348</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>91348</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ULTA BEAUTY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>90384S303</cusip>
    <value>734599</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1345</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1341</Sole>
      <Shared>0</Shared>
      <None>4</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNION PAC CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>907818108</cusip>
    <value>365471</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1343</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1245</Sole>
      <Shared>0</Shared>
      <None>98</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNITED RENTALS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>911363109</cusip>
    <value>10728376</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10720</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10565</Sole>
      <Shared>0</Shared>
      <None>155</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNITED STS LIME &amp; MINERALS I</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>911922102</cusip>
    <value>901034</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7966</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7966</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNITED THERAPEUTICS CORP DEL</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>91307C102</cusip>
    <value>1826169</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3370</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3339</Sole>
      <Shared>0</Shared>
      <None>31</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>URBAN EDGE PPTYS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>91704F104</cusip>
    <value>360309</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18449</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18449</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>URBAN OUTFITTERS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>917047102</cusip>
    <value>1009285</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13214</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13214</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>V2X INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>92242T101</cusip>
    <value>519027</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7334</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7334</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VALERO ENERGY CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>91913Y100</cusip>
    <value>12094207</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31202</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>30803</Sole>
      <Shared>0</Shared>
      <None>399</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD BD INDEX FDS</nameOfIssuer>
    <titleOfClass>SHORT TRM BOND</titleOfClass>
    <cusip>921937827</cusip>
    <value>494766</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6476</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4338</Sole>
      <Shared>0</Shared>
      <None>2138</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INDEX FDS</nameOfIssuer>
    <titleOfClass>MRNGSTR SML CP V</titleOfClass>
    <cusip>922908611</cusip>
    <value>3507266</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15181</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14498</Sole>
      <Shared>0</Shared>
      <None>683</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INTL EQUITY INDEX F</nameOfIssuer>
    <titleOfClass>ALLWRLD EX US</titleOfClass>
    <cusip>922042775</cusip>
    <value>2289433</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27594</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>27112</Sole>
      <Shared>0</Shared>
      <None>482</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INTL EQUITY INDEX F</nameOfIssuer>
    <titleOfClass>FTSE EMR MKT ETF</titleOfClass>
    <cusip>922042858</cusip>
    <value>1837424</value>
    <shrsOrPrnAmt>
      <sshPrnamt>30980</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>30980</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INTL EQUITY INDEX F</nameOfIssuer>
    <titleOfClass>TT WRLD ST ETF</titleOfClass>
    <cusip>922042742</cusip>
    <value>615931</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3902</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3902</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INTL EQUITY INDEX F</nameOfIssuer>
    <titleOfClass>FTSE EUROPE ETF</titleOfClass>
    <cusip>922042874</cusip>
    <value>505350</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5822</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5822</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD MUN BD FDS</nameOfIssuer>
    <titleOfClass>TAX EXEMPT BD</titleOfClass>
    <cusip>922907746</cusip>
    <value>1241306</value>
    <shrsOrPrnAmt>
      <sshPrnamt>26210</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>25352</Sole>
      <Shared>0</Shared>
      <None>858</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SCOTTSDALE FDS</nameOfIssuer>
    <titleOfClass>LG-TERM COR BD</titleOfClass>
    <cusip>92206C813</cusip>
    <value>1234781</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18026</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>17720</Sole>
      <Shared>0</Shared>
      <None>306</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SCOTTSDALE FDS</nameOfIssuer>
    <titleOfClass>LONG TERM TREAS</titleOfClass>
    <cusip>92206C847</cusip>
    <value>2058522</value>
    <shrsOrPrnAmt>
      <sshPrnamt>41055</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>38975</Sole>
      <Shared>0</Shared>
      <None>2080</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SCOTTSDALE FDS</nameOfIssuer>
    <titleOfClass>SHRT TRM CORP BD</titleOfClass>
    <cusip>92206C409</cusip>
    <value>2618698</value>
    <shrsOrPrnAmt>
      <sshPrnamt>33899</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>31147</Sole>
      <Shared>0</Shared>
      <None>2752</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SCOTTSDALE FDS</nameOfIssuer>
    <titleOfClass>INTER TERM TREAS</titleOfClass>
    <cusip>92206C706</cusip>
    <value>2867053</value>
    <shrsOrPrnAmt>
      <sshPrnamt>50601</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>49727</Sole>
      <Shared>0</Shared>
      <None>874</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SCOTTSDALE FDS</nameOfIssuer>
    <titleOfClass>INT-TERM CORP</titleOfClass>
    <cusip>92206C870</cusip>
    <value>2016717</value>
    <shrsOrPrnAmt>
      <sshPrnamt>25753</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>22442</Sole>
      <Shared>0</Shared>
      <None>3311</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SPECIALIZED FUNDS</nameOfIssuer>
    <titleOfClass>DIV APP ETF</titleOfClass>
    <cusip>921908844</cusip>
    <value>203913</value>
    <shrsOrPrnAmt>
      <sshPrnamt>874</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>829</Sole>
      <Shared>0</Shared>
      <None>45</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VIRCO MFG CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>927651109</cusip>
    <value>68480</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10503</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10503</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VIRTUS ETF TR II</nameOfIssuer>
    <titleOfClass>SEIX SR LN ETF</titleOfClass>
    <cusip>92790A405</cusip>
    <value>1018646</value>
    <shrsOrPrnAmt>
      <sshPrnamt>43945</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>42980</Sole>
      <Shared>0</Shared>
      <None>965</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WALMART INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>931142103</cusip>
    <value>13406511</value>
    <shrsOrPrnAmt>
      <sshPrnamt>129008</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>126650</Sole>
      <Shared>0</Shared>
      <None>2358</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WARRIOR MET COAL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>93627C101</cusip>
    <value>1503267</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17069</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>17069</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WELLTOWER INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>95040Q104</cusip>
    <value>3215992</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13968</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13814</Sole>
      <Shared>0</Shared>
      <None>154</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WESCO INTL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>95082P105</cusip>
    <value>1724594</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4796</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4796</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WESTERN DIGITAL CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>958102105</cusip>
    <value>3664765</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8064</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8064</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WILLAMETTE VALLEY VINEYARDS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>969136100</cusip>
    <value>22612</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12921</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12921</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WINMARK CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>974250102</cusip>
    <value>431673</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1438</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1438</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WISDOMTREE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>97717P104</cusip>
    <value>1590971</value>
    <shrsOrPrnAmt>
      <sshPrnamt>65499</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>65499</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WISDOMTREE TR</nameOfIssuer>
    <titleOfClass>YIELD ENHANCD US</titleOfClass>
    <cusip>97717X511</cusip>
    <value>1223209</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29704</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>29335</Sole>
      <Shared>0</Shared>
      <None>369</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>XENIA HOTELS &amp; RESORTS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>984017103</cusip>
    <value>664771</value>
    <shrsOrPrnAmt>
      <sshPrnamt>36809</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>36809</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>YETI HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>98585X104</cusip>
    <value>942065</value>
    <shrsOrPrnAmt>
      <sshPrnamt>22966</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>22966</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ZYMEWORKS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>98985Y108</cusip>
    <value>289403</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10925</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10925</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
</informationTable>
