<?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>5427239</value>
    <shrsOrPrnAmt>
      <sshPrnamt>52861</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>52120</Sole>
      <Shared>0</Shared>
      <None>741</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ABBVIE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00287Y109</cusip>
    <value>7514932</value>
    <shrsOrPrnAmt>
      <sshPrnamt>34553</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>34105</Sole>
      <Shared>0</Shared>
      <None>448</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ABERCROMBIE &amp; FITCH CO</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>002896207</cusip>
    <value>751061</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8220</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8220</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ACADEMY SPORTS &amp; OUTDOORS IN</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00402L107</cusip>
    <value>551573</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9771</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9771</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ACM RESH INC</nameOfIssuer>
    <titleOfClass>COM CL A</titleOfClass>
    <cusip>00108J109</cusip>
    <value>1166728</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29650</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>29650</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ACME UTD CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>004816104</cusip>
    <value>216646</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>1003286</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13310</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13310</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALKERMES PLC</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G01767105</cusip>
    <value>363678</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10285</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10285</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALPHA PRO TECH LTD</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>020772109</cusip>
    <value>49062</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>31059356</value>
    <shrsOrPrnAmt>
      <sshPrnamt>108010</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>106456</Sole>
      <Shared>0</Shared>
      <None>1554</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMAZON COM INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>023135106</cusip>
    <value>12663233</value>
    <shrsOrPrnAmt>
      <sshPrnamt>60802</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>59812</Sole>
      <Shared>0</Shared>
      <None>990</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN CENTY ETF TR</nameOfIssuer>
    <titleOfClass>INTL SMCP VLU</titleOfClass>
    <cusip>025072802</cusip>
    <value>521176</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5219</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5118</Sole>
      <Shared>0</Shared>
      <None>101</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN CENTY ETF TR</nameOfIssuer>
    <titleOfClass>AVANTIS EMGMKT</titleOfClass>
    <cusip>025072604</cusip>
    <value>814512</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10108</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9914</Sole>
      <Shared>0</Shared>
      <None>194</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN ELEC PWR CO INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>025537101</cusip>
    <value>5922063</value>
    <shrsOrPrnAmt>
      <sshPrnamt>45179</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>44755</Sole>
      <Shared>0</Shared>
      <None>424</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN FINANCIAL GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>025932104</cusip>
    <value>382619</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>43101</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>1479177</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4204</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4067</Sole>
      <Shared>0</Shared>
      <None>137</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMPLIFY ETF TR</nameOfIssuer>
    <titleOfClass>BLOCKCHAIN TECHN</titleOfClass>
    <cusip>032108607</cusip>
    <value>344337</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6913</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6913</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>170528</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>832648</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11600</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11578</Sole>
      <Shared>0</Shared>
      <None>22</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ANI PHARMACEUTICALS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00182C103</cusip>
    <value>357585</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4650</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4650</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>APPLE HOSPITALITY REIT INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>03784Y200</cusip>
    <value>468089</value>
    <shrsOrPrnAmt>
      <sshPrnamt>40668</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>40668</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>APPLE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>037833100</cusip>
    <value>29124625</value>
    <shrsOrPrnAmt>
      <sshPrnamt>114759</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>113269</Sole>
      <Shared>0</Shared>
      <None>1490</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>APPLIED INDL TECHNOLOGIES IN</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>03820C105</cusip>
    <value>751121</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2831</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2831</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ARCBEST CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>03937C105</cusip>
    <value>529570</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>ARGAN INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>04010E109</cusip>
    <value>349121</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>409840</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3338</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3338</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ARTIVION INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>228903100</cusip>
    <value>255315</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6972</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6972</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>8589357</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6503</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6411</Sole>
      <Shared>0</Shared>
      <None>92</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ASSURED GUARANTY LTD</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>G0585R106</cusip>
    <value>1096395</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13456</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13450</Sole>
      <Shared>0</Shared>
      <None>6</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ASTRAZENECA PLC</nameOfIssuer>
    <titleOfClass>ORD</titleOfClass>
    <cusip>G0593M107</cusip>
    <value>4747032</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24071</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23980</Sole>
      <Shared>0</Shared>
      <None>91</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AT&amp;T INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00206R102</cusip>
    <value>2281803</value>
    <shrsOrPrnAmt>
      <sshPrnamt>78710</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>75968</Sole>
      <Shared>0</Shared>
      <None>2742</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AVERY DENNISON CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>053611109</cusip>
    <value>1242260</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7194</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6901</Sole>
      <Shared>0</Shared>
      <None>293</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AVISTA CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>05379B107</cusip>
    <value>645251</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16075</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16003</Sole>
      <Shared>0</Shared>
      <None>72</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AVNET INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>053807103</cusip>
    <value>662353</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10749</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10749</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AXCELIS TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>054540208</cusip>
    <value>317217</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>642259</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7548</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7548</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BANCORP INC DEL</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>05969A105</cusip>
    <value>3629569</value>
    <shrsOrPrnAmt>
      <sshPrnamt>67552</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>67212</Sole>
      <Shared>0</Shared>
      <None>340</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BANKUNITED INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>06652K103</cusip>
    <value>404137</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>BEAZER HOMES USA INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>07556Q881</cusip>
    <value>324810</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16882</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16882</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>5267846</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10993</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10869</Sole>
      <Shared>0</Shared>
      <None>124</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BEST BUY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>086516101</cusip>
    <value>291147</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4535</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4363</Sole>
      <Shared>0</Shared>
      <None>172</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BLACKROCK INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>09290D101</cusip>
    <value>6999185</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7278</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7115</Sole>
      <Shared>0</Shared>
      <None>163</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BLUE BIRD CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>095306106</cusip>
    <value>216881</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>964054</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12710</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12710</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BOOT BARN HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>099406100</cusip>
    <value>1895069</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12948</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12837</Sole>
      <Shared>0</Shared>
      <None>111</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BOS BETTER ONLINE SOLUTIONS</nameOfIssuer>
    <titleOfClass>SHS NEW NIS 80</titleOfClass>
    <cusip>M20115180</cusip>
    <value>164177</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>764712</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9413</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9413</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BRINKER INTL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>109641100</cusip>
    <value>2829844</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>12575391</value>
    <shrsOrPrnAmt>
      <sshPrnamt>40630</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>39982</Sole>
      <Shared>0</Shared>
      <None>648</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BROADWIND INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>11161T207</cusip>
    <value>56368</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>580550</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11528</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11528</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CADENCE DESIGN SYSTEM INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>127387108</cusip>
    <value>3423636</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12321</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12034</Sole>
      <Shared>0</Shared>
      <None>287</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CARETRUST REIT INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>14174T107</cusip>
    <value>264540</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7218</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7218</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CASEYS GEN STORES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>147528103</cusip>
    <value>6956158</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9557</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9467</Sole>
      <Shared>0</Shared>
      <None>90</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CATALYST PHARMACEUTICALS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>14888U101</cusip>
    <value>834041</value>
    <shrsOrPrnAmt>
      <sshPrnamt>33685</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>33685</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CATERPILLAR INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>149123101</cusip>
    <value>17390568</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24547</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>24204</Sole>
      <Shared>0</Shared>
      <None>343</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CBAK ENERGY TECHNOLOGY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>14986C102</cusip>
    <value>43440</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>4447829</value>
    <shrsOrPrnAmt>
      <sshPrnamt>32835</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>32371</Sole>
      <Shared>0</Shared>
      <None>464</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CELANESE CORP DEL</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>150870103</cusip>
    <value>886846</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13484</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13484</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>540344</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>273645</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>1125209</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8666</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8643</Sole>
      <Shared>0</Shared>
      <None>23</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CHENIERE ENERGY INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>16411R208</cusip>
    <value>2675573</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9429</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9311</Sole>
      <Shared>0</Shared>
      <None>118</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CHEVRON CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>166764100</cusip>
    <value>10383331</value>
    <shrsOrPrnAmt>
      <sshPrnamt>50185</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>49541</Sole>
      <Shared>0</Shared>
      <None>644</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CISCO SYS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>17275R102</cusip>
    <value>1736464</value>
    <shrsOrPrnAmt>
      <sshPrnamt>22380</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>22225</Sole>
      <Shared>0</Shared>
      <None>155</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CLEARWAY ENERGY INC</nameOfIssuer>
    <titleOfClass>CL C</titleOfClass>
    <cusip>18539C204</cusip>
    <value>312984</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>209315</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>4305713</value>
    <shrsOrPrnAmt>
      <sshPrnamt>22456</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>22412</Sole>
      <Shared>0</Shared>
      <None>44</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>COLLEGIUM PHARMACEUTICAL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>19459J104</cusip>
    <value>235128</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7110</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7110</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CORCEPT THERAPEUTICS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>218352102</cusip>
    <value>690188</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>349693</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>3807361</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3821</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3703</Sole>
      <Shared>0</Shared>
      <None>118</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>COVISTA INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00737L103</cusip>
    <value>561959</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4876</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4876</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CPI AEROSTRUCTURES INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>125919308</cusip>
    <value>136604</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>558486</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>715176</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1050</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1016</Sole>
      <Shared>0</Shared>
      <None>34</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DARDEN RESTAURANTS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>237194105</cusip>
    <value>998236</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5092</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5070</Sole>
      <Shared>0</Shared>
      <None>22</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DATA I O CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>237690102</cusip>
    <value>56677</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>3713539</value>
    <shrsOrPrnAmt>
      <sshPrnamt>37102</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>36250</Sole>
      <Shared>0</Shared>
      <None>852</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DEERE &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>244199105</cusip>
    <value>1793547</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3184</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3140</Sole>
      <Shared>0</Shared>
      <None>44</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DIGITAL RLTY TR INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>253868103</cusip>
    <value>693809</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3850</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3753</Sole>
      <Shared>0</Shared>
      <None>97</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DONNELLEY FINL SOLUTIONS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>25787G100</cusip>
    <value>818445</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>366932</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10729</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10236</Sole>
      <Shared>0</Shared>
      <None>493</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DXC TECHNOLOGY CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>23355L106</cusip>
    <value>634508</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>EATON CORP PLC</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G29183103</cusip>
    <value>6604734</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18466</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18317</Sole>
      <Shared>0</Shared>
      <None>149</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ELEVANCE HEALTH INC FORMERLY</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>036752103</cusip>
    <value>805648</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2752</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2648</Sole>
      <Shared>0</Shared>
      <None>104</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ELI LILLY &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>532457108</cusip>
    <value>9986863</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10858</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10825</Sole>
      <Shared>0</Shared>
      <None>33</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ELTEK LTD</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>M40184208</cusip>
    <value>207515</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>514293</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>17572599</value>
    <shrsOrPrnAmt>
      <sshPrnamt>129372</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>128134</Sole>
      <Shared>0</Shared>
      <None>1238</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ENSIGN GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>29358P101</cusip>
    <value>562588</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>640789</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5703</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5571</Sole>
      <Shared>0</Shared>
      <None>132</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EOS ENERGY ENTERPRISES INC</nameOfIssuer>
    <titleOfClass>COM CL A</titleOfClass>
    <cusip>29415C101</cusip>
    <value>139416</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28108</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28108</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EPLUS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>294268107</cusip>
    <value>352471</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>334532</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6696</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6696</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ERO COPPER CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>296006109</cusip>
    <value>533213</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19993</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>19993</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ESCO TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>296315104</cusip>
    <value>842140</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2993</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2993</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EVERCORE INC</nameOfIssuer>
    <titleOfClass>CLASS A</titleOfClass>
    <cusip>29977A105</cusip>
    <value>2446886</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8197</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8197</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EXCHANGE TRADED CONCEPTS TRU</nameOfIssuer>
    <titleOfClass>RANGE NUCLEAR RE</titleOfClass>
    <cusip>301505475</cusip>
    <value>2091946</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31807</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>31385</Sole>
      <Shared>0</Shared>
      <None>422</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EXXON MOBIL CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>30231G102</cusip>
    <value>5728740</value>
    <shrsOrPrnAmt>
      <sshPrnamt>33766</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>33180</Sole>
      <Shared>0</Shared>
      <None>586</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EZCORP INC</nameOfIssuer>
    <titleOfClass>CL A NON VTG</titleOfClass>
    <cusip>302301106</cusip>
    <value>1333643</value>
    <shrsOrPrnAmt>
      <sshPrnamt>52547</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>52547</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FEDERAL AGRIC MTG CORP</nameOfIssuer>
    <titleOfClass>CL C</titleOfClass>
    <cusip>313148306</cusip>
    <value>677514</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>507668</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8952</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8952</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FIDELITY COVINGTON TRUST</nameOfIssuer>
    <titleOfClass>ENHANCED LARGE</titleOfClass>
    <cusip>31609A107</cusip>
    <value>1012155</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28993</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28437</Sole>
      <Shared>0</Shared>
      <None>556</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FIRST BANCORP CORPORATION</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>318672706</cusip>
    <value>1295270</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>855885</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>913699</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>917196</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14633</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14274</Sole>
      <Shared>0</Shared>
      <None>359</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FLEXIBLE SOLUTIONS INTL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>33938T104</cusip>
    <value>98829</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>2135523</value>
    <shrsOrPrnAmt>
      <sshPrnamt>40217</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>40039</Sole>
      <Shared>0</Shared>
      <None>178</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FTI CONSULTING INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>302941109</cusip>
    <value>1274865</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7212</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7212</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GAIA INC NEW</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>36269P104</cusip>
    <value>29362</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>3147774</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14534</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14274</Sole>
      <Shared>0</Shared>
      <None>260</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GE AEROSPACE</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>369604301</cusip>
    <value>3075215</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10837</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10776</Sole>
      <Shared>0</Shared>
      <None>61</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GENERAC HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>368736104</cusip>
    <value>2266219</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11602</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11509</Sole>
      <Shared>0</Shared>
      <None>93</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GIGACLOUD TECHNOLOGY INC</nameOfIssuer>
    <titleOfClass>CLASS A ORD</titleOfClass>
    <cusip>G38644103</cusip>
    <value>817112</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18006</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18006</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GLOBAL SELF STORAGE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>37955N106</cusip>
    <value>123151</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 &amp; DIGIT</titleOfClass>
    <cusip>37954Y236</cusip>
    <value>594352</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24806</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>24075</Sole>
      <Shared>0</Shared>
      <None>731</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GLOBAL X FDS</nameOfIssuer>
    <titleOfClass>DEFENSE TECH ETF</titleOfClass>
    <cusip>37960A529</cusip>
    <value>5413949</value>
    <shrsOrPrnAmt>
      <sshPrnamt>76425</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>75609</Sole>
      <Shared>0</Shared>
      <None>816</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GOLDMAN SACHS GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>38141G104</cusip>
    <value>12126421</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14334</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14181</Sole>
      <Shared>0</Shared>
      <None>153</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HALOZYME THERAPEUTICS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>40637H109</cusip>
    <value>1701514</value>
    <shrsOrPrnAmt>
      <sshPrnamt>26327</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>25964</Sole>
      <Shared>0</Shared>
      <None>363</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HAVERTY FURNITURE COS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>419596101</cusip>
    <value>296160</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>2103079</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4444</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4407</Sole>
      <Shared>0</Shared>
      <None>37</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HF SINCLAIR CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>403949100</cusip>
    <value>685354</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>8110383</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24660</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>24327</Sole>
      <Shared>0</Shared>
      <None>333</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HOULIHAN LOKEY INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>441593100</cusip>
    <value>753718</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5248</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5248</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>IDACORP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>451107106</cusip>
    <value>704842</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4930</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4930</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INGLES MKTS INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>457030104</cusip>
    <value>985015</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>220155</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>418812</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>1799389</value>
    <shrsOrPrnAmt>
      <sshPrnamt>77227</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>77227</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INSIGHT ENTERPRISES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>45765U103</cusip>
    <value>388591</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5799</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5649</Sole>
      <Shared>0</Shared>
      <None>150</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INSTALLED BLDG PRODS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>45780R101</cusip>
    <value>1702263</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6420</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6414</Sole>
      <Shared>0</Shared>
      <None>6</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INTEGER HLDGS CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>45826H109</cusip>
    <value>1203048</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>587088</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>1779627</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7342</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7330</Sole>
      <Shared>0</Shared>
      <None>12</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO ACTIVELY MANAGED EXC</nameOfIssuer>
    <titleOfClass>VAR RATE INVT</titleOfClass>
    <cusip>46090A879</cusip>
    <value>4523625</value>
    <shrsOrPrnAmt>
      <sshPrnamt>180692</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>165946</Sole>
      <Shared>0</Shared>
      <None>14746</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO ACTVELY MNGD ETC FD</nameOfIssuer>
    <titleOfClass>OPTIMUM YIELD</titleOfClass>
    <cusip>46090F100</cusip>
    <value>1082171</value>
    <shrsOrPrnAmt>
      <sshPrnamt>62481</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>61403</Sole>
      <Shared>0</Shared>
      <None>1078</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO CURRENCYSHARES SWISS</nameOfIssuer>
    <titleOfClass>SWISS FRANC</titleOfClass>
    <cusip>46138R108</cusip>
    <value>707839</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6411</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6233</Sole>
      <Shared>0</Shared>
      <None>178</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO EXCH TRADED FD TR II</nameOfIssuer>
    <titleOfClass>VAR RATE PFD</titleOfClass>
    <cusip>46138G870</cusip>
    <value>1389042</value>
    <shrsOrPrnAmt>
      <sshPrnamt>57925</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>57925</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>2068876</value>
    <shrsOrPrnAmt>
      <sshPrnamt>40984</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>40691</Sole>
      <Shared>0</Shared>
      <None>293</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO EXCHANGE TRADED FD T</nameOfIssuer>
    <titleOfClass>S&amp;P500 EQL DIS</titleOfClass>
    <cusip>46137V381</cusip>
    <value>238416</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>515888</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15547</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15112</Sole>
      <Shared>0</Shared>
      <None>435</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO EXCHANGE TRADED FD T</nameOfIssuer>
    <titleOfClass>S&amp;P SMLCP MOMENT</titleOfClass>
    <cusip>46137V498</cusip>
    <value>490256</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6449</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6325</Sole>
      <Shared>0</Shared>
      <None>124</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO QQQ TR</nameOfIssuer>
    <titleOfClass>UNIT SER 1</titleOfClass>
    <cusip>46090E103</cusip>
    <value>1163018</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2015</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2015</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESTAR HOLDING CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>46134L105</cusip>
    <value>240494</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>236222</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>25125071</value>
    <shrsOrPrnAmt>
      <sshPrnamt>284994</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>282046</Sole>
      <Shared>0</Shared>
      <None>2948</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES INC</nameOfIssuer>
    <titleOfClass>MSCI CDA ETF</titleOfClass>
    <cusip>464286509</cusip>
    <value>383530</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>754801</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19027</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18516</Sole>
      <Shared>0</Shared>
      <None>511</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES SILVER TR</nameOfIssuer>
    <titleOfClass>ISHARES</titleOfClass>
    <cusip>46428Q109</cusip>
    <value>6144525</value>
    <shrsOrPrnAmt>
      <sshPrnamt>90175</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>88701</Sole>
      <Shared>0</Shared>
      <None>1474</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>NATIONAL MUN ETF</titleOfClass>
    <cusip>464288414</cusip>
    <value>2334663</value>
    <shrsOrPrnAmt>
      <sshPrnamt>21994</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>21767</Sole>
      <Shared>0</Shared>
      <None>227</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS 29 TRM TS</titleOfClass>
    <cusip>46436E825</cusip>
    <value>299162</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>SELECT DIVID ETF</titleOfClass>
    <cusip>464287168</cusip>
    <value>1043993</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6895</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6761</Sole>
      <Shared>0</Shared>
      <None>134</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>10-20 YR TRS ETF</titleOfClass>
    <cusip>464288653</cusip>
    <value>247066</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2453</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2192</Sole>
      <Shared>0</Shared>
      <None>261</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>3 7 YR TREAS BD</titleOfClass>
    <cusip>464288661</cusip>
    <value>7253608</value>
    <shrsOrPrnAmt>
      <sshPrnamt>61160</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>58827</Sole>
      <Shared>0</Shared>
      <None>2333</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>SELECT US REIT</titleOfClass>
    <cusip>464287564</cusip>
    <value>557010</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>1272865</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11602</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11051</Sole>
      <Shared>0</Shared>
      <None>551</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>RUS TP200 GR ETF</titleOfClass>
    <cusip>464289438</cusip>
    <value>248093</value>
    <shrsOrPrnAmt>
      <sshPrnamt>997</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>997</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>RUS 1000 ETF</titleOfClass>
    <cusip>464287622</cusip>
    <value>2453133</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6880</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6880</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>MSCI EAFE ETF</titleOfClass>
    <cusip>464287465</cusip>
    <value>7050861</value>
    <shrsOrPrnAmt>
      <sshPrnamt>72592</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>72357</Sole>
      <Shared>0</Shared>
      <None>235</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 26</titleOfClass>
    <cusip>46435U259</cusip>
    <value>918451</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>ISHS 1-5YR INVS</titleOfClass>
    <cusip>464288646</cusip>
    <value>10431025</value>
    <shrsOrPrnAmt>
      <sshPrnamt>198459</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>193827</Sole>
      <Shared>0</Shared>
      <None>4632</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 27</titleOfClass>
    <cusip>46435U283</cusip>
    <value>525997</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>873586</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7844</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7844</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>USD INV GRDE ETF</titleOfClass>
    <cusip>464288620</cusip>
    <value>240269</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>IBONDS DEC2026</titleOfClass>
    <cusip>46435GAA0</cusip>
    <value>1697479</value>
    <shrsOrPrnAmt>
      <sshPrnamt>70028</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>66744</Sole>
      <Shared>0</Shared>
      <None>3284</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 2033</titleOfClass>
    <cusip>46436E130</cusip>
    <value>3555693</value>
    <shrsOrPrnAmt>
      <sshPrnamt>137551</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>133908</Sole>
      <Shared>0</Shared>
      <None>3643</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>ISHS 5-10YR INVT</titleOfClass>
    <cusip>464288638</cusip>
    <value>3929615</value>
    <shrsOrPrnAmt>
      <sshPrnamt>73837</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>71758</Sole>
      <Shared>0</Shared>
      <None>2079</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBOXX INV CP ETF</titleOfClass>
    <cusip>464287242</cusip>
    <value>4921879</value>
    <shrsOrPrnAmt>
      <sshPrnamt>45159</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>44612</Sole>
      <Shared>0</Shared>
      <None>547</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>SHRT NAT MUN ETF</titleOfClass>
    <cusip>464288158</cusip>
    <value>3145227</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29533</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28071</Sole>
      <Shared>0</Shared>
      <None>1462</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 2032</titleOfClass>
    <cusip>46436E296</cusip>
    <value>3572438</value>
    <shrsOrPrnAmt>
      <sshPrnamt>155795</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>152562</Sole>
      <Shared>0</Shared>
      <None>3233</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 2033</titleOfClass>
    <cusip>46436E148</cusip>
    <value>207921</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8525</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8525</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>TIPS BD ETF</titleOfClass>
    <cusip>464287176</cusip>
    <value>2590421</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23472</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23262</Sole>
      <Shared>0</Shared>
      <None>210</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 28</titleOfClass>
    <cusip>46435U325</cusip>
    <value>352314</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13800</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13800</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>BLOCKCHAIN &amp; TEC</titleOfClass>
    <cusip>46436E361</cusip>
    <value>423426</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11588</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11348</Sole>
      <Shared>0</Shared>
      <None>240</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>RUS 2000 VAL ETF</titleOfClass>
    <cusip>464287630</cusip>
    <value>1111566</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5863</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5490</Sole>
      <Shared>0</Shared>
      <None>373</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>0-5 YR TIPS ETF</titleOfClass>
    <cusip>46429B747</cusip>
    <value>4087155</value>
    <shrsOrPrnAmt>
      <sshPrnamt>39516</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>39340</Sole>
      <Shared>0</Shared>
      <None>176</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>7-10 YR TRSY BD</titleOfClass>
    <cusip>464287440</cusip>
    <value>5886739</value>
    <shrsOrPrnAmt>
      <sshPrnamt>61680</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>59120</Sole>
      <Shared>0</Shared>
      <None>2560</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBOND DEC 2030</titleOfClass>
    <cusip>46436E593</cusip>
    <value>282982</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>2089804</value>
    <shrsOrPrnAmt>
      <sshPrnamt>41276</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>40368</Sole>
      <Shared>0</Shared>
      <None>908</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>RUS 1000 VAL ETF</titleOfClass>
    <cusip>464287598</cusip>
    <value>765793</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3584</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3584</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CONV BD ETF</titleOfClass>
    <cusip>46435G102</cusip>
    <value>267097</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2624</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2624</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS 27 ETF</titleOfClass>
    <cusip>46435UAA9</cusip>
    <value>1416464</value>
    <shrsOrPrnAmt>
      <sshPrnamt>58435</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>56481</Sole>
      <Shared>0</Shared>
      <None>1954</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>1 3 YR TREAS BD</titleOfClass>
    <cusip>464287457</cusip>
    <value>10113048</value>
    <shrsOrPrnAmt>
      <sshPrnamt>122478</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>119054</Sole>
      <Shared>0</Shared>
      <None>3424</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>FLTG RATE NT ETF</titleOfClass>
    <cusip>46429B655</cusip>
    <value>9805173</value>
    <shrsOrPrnAmt>
      <sshPrnamt>192447</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>185069</Sole>
      <Shared>0</Shared>
      <None>7378</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>GLOBAL ENERG ETF</titleOfClass>
    <cusip>464287341</cusip>
    <value>1567107</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27202</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>26574</Sole>
      <Shared>0</Shared>
      <None>628</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>INTRM GOV CR ETF</titleOfClass>
    <cusip>464288612</cusip>
    <value>773750</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7253</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6556</Sole>
      <Shared>0</Shared>
      <None>697</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CORE S&amp;P SCP ETF</titleOfClass>
    <cusip>464287804</cusip>
    <value>201382</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1620</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1463</Sole>
      <Shared>0</Shared>
      <None>157</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CORE US AGGBD ET</titleOfClass>
    <cusip>464287226</cusip>
    <value>6276968</value>
    <shrsOrPrnAmt>
      <sshPrnamt>63231</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>61156</Sole>
      <Shared>0</Shared>
      <None>2075</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>MICRO-CAP ETF</titleOfClass>
    <cusip>464288869</cusip>
    <value>1500813</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>IBONDS 26 TRM TS</titleOfClass>
    <cusip>46436E858</cusip>
    <value>252065</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>1688594</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29734</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>29734</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>RUSSELL 2000 ETF</titleOfClass>
    <cusip>464287655</cusip>
    <value>9332243</value>
    <shrsOrPrnAmt>
      <sshPrnamt>37630</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>37538</Sole>
      <Shared>0</Shared>
      <None>92</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 2032</titleOfClass>
    <cusip>46436E312</cusip>
    <value>355498</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>MBS ETF</titleOfClass>
    <cusip>464288588</cusip>
    <value>2971555</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31296</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>31012</Sole>
      <Shared>0</Shared>
      <None>284</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>TRUST ISHARE 0-1</titleOfClass>
    <cusip>464288679</cusip>
    <value>3435891</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31125</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>30459</Sole>
      <Shared>0</Shared>
      <None>666</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>20 YR TR BD ETF</titleOfClass>
    <cusip>464287432</cusip>
    <value>2702474</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31174</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>31099</Sole>
      <Shared>0</Shared>
      <None>75</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 29</titleOfClass>
    <cusip>46436E205</cusip>
    <value>511953</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>2053692</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3144</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3144</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>10+ YR INVST GRD</titleOfClass>
    <cusip>464289511</cusip>
    <value>826985</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16663</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16627</Sole>
      <Shared>0</Shared>
      <None>36</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>IBONDS DEC 2029</titleOfClass>
    <cusip>46436E163</cusip>
    <value>845955</value>
    <shrsOrPrnAmt>
      <sshPrnamt>33371</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>32441</Sole>
      <Shared>0</Shared>
      <None>930</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JABIL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>466313103</cusip>
    <value>11599004</value>
    <shrsOrPrnAmt>
      <sshPrnamt>43666</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>43135</Sole>
      <Shared>0</Shared>
      <None>531</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JANUS DETROIT STR TR</nameOfIssuer>
    <titleOfClass>HENDERSON MTG</titleOfClass>
    <cusip>47103U852</cusip>
    <value>1185636</value>
    <shrsOrPrnAmt>
      <sshPrnamt>26243</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23568</Sole>
      <Shared>0</Shared>
      <None>2675</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JOHNSON &amp; JOHNSON</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>478160104</cusip>
    <value>8453504</value>
    <shrsOrPrnAmt>
      <sshPrnamt>34583</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>33737</Sole>
      <Shared>0</Shared>
      <None>846</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JPMORGAN CHASE &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>46625H100</cusip>
    <value>20735633</value>
    <shrsOrPrnAmt>
      <sshPrnamt>70491</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>69368</Sole>
      <Shared>0</Shared>
      <None>1123</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KINIKSA PHARMACEUTICALS INTL</nameOfIssuer>
    <titleOfClass>ORD SHS CL A</titleOfClass>
    <cusip>G52694109</cusip>
    <value>338350</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>527653</value>
    <shrsOrPrnAmt>
      <sshPrnamt>21493</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>21493</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KONTOOR BRANDS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>50050N103</cusip>
    <value>1017167</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14471</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14228</Sole>
      <Shared>0</Shared>
      <None>243</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KOSS CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>500692108</cusip>
    <value>55401</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>748665</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3504</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3500</Sole>
      <Shared>0</Shared>
      <None>4</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LEMAITRE VASCULAR INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>525558201</cusip>
    <value>242576</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2222</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2222</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LINDE PLC</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G54950103</cusip>
    <value>5278357</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10647</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10498</Sole>
      <Shared>0</Shared>
      <None>149</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LOCKHEED MARTIN CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>539830109</cusip>
    <value>1048617</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1735</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1689</Sole>
      <Shared>0</Shared>
      <None>46</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LPL FINL HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>50212V100</cusip>
    <value>1860934</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6186</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6037</Sole>
      <Shared>0</Shared>
      <None>149</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LUMENT FINANCE TRUST INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>55025L108</cusip>
    <value>22680</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>M/I HOMES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>55305B101</cusip>
    <value>5240860</value>
    <shrsOrPrnAmt>
      <sshPrnamt>42800</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>42435</Sole>
      <Shared>0</Shared>
      <None>365</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MAGNOLIA OIL &amp; GAS CORP</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>559663109</cusip>
    <value>749346</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23736</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23674</Sole>
      <Shared>0</Shared>
      <None>62</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MANHATTAN BRDG CAP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>562803106</cusip>
    <value>94278</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>MASTECH HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>57633B100</cusip>
    <value>68997</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>9499536</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19012</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18772</Sole>
      <Shared>0</Shared>
      <None>240</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MATADOR RES CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>576485205</cusip>
    <value>3142257</value>
    <shrsOrPrnAmt>
      <sshPrnamt>49735</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>49460</Sole>
      <Shared>0</Shared>
      <None>275</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MCDONALDS CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>580135101</cusip>
    <value>9687781</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31171</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>30885</Sole>
      <Shared>0</Shared>
      <None>286</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MCKESSON CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>58155Q103</cusip>
    <value>3275388</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3785</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3764</Sole>
      <Shared>0</Shared>
      <None>21</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MERCHANTS BANCORP IND</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>58844R108</cusip>
    <value>1019971</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>9583750</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16751</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16569</Sole>
      <Shared>0</Shared>
      <None>182</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MGIC INVT CORP WIS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>552848103</cusip>
    <value>1527593</value>
    <shrsOrPrnAmt>
      <sshPrnamt>58194</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>58194</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MICROSOFT CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>594918104</cusip>
    <value>25965328</value>
    <shrsOrPrnAmt>
      <sshPrnamt>70144</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>69258</Sole>
      <Shared>0</Shared>
      <None>886</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MODINE MFG CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>607828100</cusip>
    <value>675918</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>MURPHY OIL CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>626717102</cusip>
    <value>754421</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>711623</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4456</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4456</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NATIONAL STORAGE AFFILIATES</nameOfIssuer>
    <titleOfClass>COM SHS BEN IN</titleOfClass>
    <cusip>637870106</cusip>
    <value>503640</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13345</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13345</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NATURAL ALTERNATIVES INTL IN</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>638842302</cusip>
    <value>26358</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>2676952</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20758</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>20758</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NETFLIX INC.</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>64110L106</cusip>
    <value>618437</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6432</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6208</Sole>
      <Shared>0</Shared>
      <None>224</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NEWMONT CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>651639106</cusip>
    <value>353220</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3263</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3251</Sole>
      <Shared>0</Shared>
      <None>12</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NEXSTAR MEDIA GROUP INC</nameOfIssuer>
    <titleOfClass>COMMON STOCK</titleOfClass>
    <cusip>65336K103</cusip>
    <value>440502</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2436</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2436</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NEXTERA ENERGY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>65339F101</cusip>
    <value>1701562</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18320</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18081</Sole>
      <Shared>0</Shared>
      <None>239</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NORTHERN OIL &amp; GAS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>665531307</cusip>
    <value>495975</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>787515</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1154</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1094</Sole>
      <Shared>0</Shared>
      <None>60</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NOVA LTD</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>M7516K103</cusip>
    <value>16349339</value>
    <shrsOrPrnAmt>
      <sshPrnamt>37647</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>37352</Sole>
      <Shared>0</Shared>
      <None>295</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NUCOR CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>670346105</cusip>
    <value>563441</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3332</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3244</Sole>
      <Shared>0</Shared>
      <None>88</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NUVEEN CALIFORNIA MUNI VLU F</nameOfIssuer>
    <titleOfClass>COM STK</titleOfClass>
    <cusip>67062C107</cusip>
    <value>95957</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>486503</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>32525949</value>
    <shrsOrPrnAmt>
      <sshPrnamt>186502</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>183697</Sole>
      <Shared>0</Shared>
      <None>2805</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NWPX INFRASTRUCTURE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>667746101</cusip>
    <value>264257</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>802443</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>352571</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13097</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13097</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>OPUS GENETICS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>67577R102</cusip>
    <value>74456</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>933083</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10631</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10626</Sole>
      <Shared>0</Shared>
      <None>5</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PATRICK INDS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>703343103</cusip>
    <value>2024695</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18229</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18104</Sole>
      <Shared>0</Shared>
      <None>125</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PC CONNECTION INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>69318J100</cusip>
    <value>2051946</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>PETROLEO BRASILEIRO S A</nameOfIssuer>
    <titleOfClass>SPONSORED ADR</titleOfClass>
    <cusip>71654V408</cusip>
    <value>481794</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23219</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23219</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PFIZER INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>717081103</cusip>
    <value>214278</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7631</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7620</Sole>
      <Shared>0</Shared>
      <None>11</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PHIBRO ANIMAL HEALTH CORP</nameOfIssuer>
    <titleOfClass>CL A COM</titleOfClass>
    <cusip>71742Q106</cusip>
    <value>346241</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>916620</value>
    <shrsOrPrnAmt>
      <sshPrnamt>22683</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>22683</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PIONEER PWR SOLUTIONS INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>723836300</cusip>
    <value>70805</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>2873381</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>628016</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11901</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11901</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>POWELL INDS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>739128106</cusip>
    <value>1798009</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3323</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3323</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PRICESMART INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>741511109</cusip>
    <value>1137329</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7557</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7557</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PRIMERICA INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>74164M108</cusip>
    <value>1121148</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4476</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4410</Sole>
      <Shared>0</Shared>
      <None>66</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PROCTER &amp; GAMBLE CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>742718109</cusip>
    <value>8765341</value>
    <shrsOrPrnAmt>
      <sshPrnamt>60685</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>42900</Sole>
      <Shared>0</Shared>
      <None>17785</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PROGRESS SOFTWARE CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>743312100</cusip>
    <value>200763</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7827</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7827</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PROLOGIS INC.</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>74340W103</cusip>
    <value>914950</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6922</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6762</Sole>
      <Shared>0</Shared>
      <None>160</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>RADIAN GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>750236101</cusip>
    <value>1229385</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>66250</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>3663983</value>
    <shrsOrPrnAmt>
      <sshPrnamt>140275</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>140162</Sole>
      <Shared>0</Shared>
      <None>113</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>REX AMERICAN RES CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>761624105</cusip>
    <value>329015</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>210830</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>2003267</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10385</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10334</Sole>
      <Shared>0</Shared>
      <None>51</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>RYDER SYS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>783549108</cusip>
    <value>2627658</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12836</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12765</Sole>
      <Shared>0</Shared>
      <None>71</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SABRA HEALTH CARE REIT INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>78573L106</cusip>
    <value>462328</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24042</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>24042</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>INTL EQTY ETF</titleOfClass>
    <cusip>808524805</cusip>
    <value>1745603</value>
    <shrsOrPrnAmt>
      <sshPrnamt>70529</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>69170</Sole>
      <Shared>0</Shared>
      <None>1359</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>EMRG MKTEQ ETF</titleOfClass>
    <cusip>808524706</cusip>
    <value>1480097</value>
    <shrsOrPrnAmt>
      <sshPrnamt>44919</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>43051</Sole>
      <Shared>0</Shared>
      <None>1868</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>FUNDAMENTAL US B</titleOfClass>
    <cusip>808524789</cusip>
    <value>2990450</value>
    <shrsOrPrnAmt>
      <sshPrnamt>109943</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>107844</Sole>
      <Shared>0</Shared>
      <None>2099</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>US BRD MKT ETF</titleOfClass>
    <cusip>808524102</cusip>
    <value>5908326</value>
    <shrsOrPrnAmt>
      <sshPrnamt>235391</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>230730</Sole>
      <Shared>0</Shared>
      <None>4661</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>FUNDAMENTAL INTL</titleOfClass>
    <cusip>808524755</cusip>
    <value>552762</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11297</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10938</Sole>
      <Shared>0</Shared>
      <None>359</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>US LCAP GR ETF</titleOfClass>
    <cusip>808524300</cusip>
    <value>2573379</value>
    <shrsOrPrnAmt>
      <sshPrnamt>88341</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>86529</Sole>
      <Shared>0</Shared>
      <None>1812</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>US MID-CAP ETF</titleOfClass>
    <cusip>808524508</cusip>
    <value>863326</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27885</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>27352</Sole>
      <Shared>0</Shared>
      <None>533</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>ULTRA SHORT INCM</titleOfClass>
    <cusip>808524623</cusip>
    <value>338108</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13417</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13126</Sole>
      <Shared>0</Shared>
      <None>291</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>STATE STREET COM</titleOfClass>
    <cusip>81369Y852</cusip>
    <value>3258508</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29393</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28894</Sole>
      <Shared>0</Shared>
      <None>499</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>STATE STREET IND</titleOfClass>
    <cusip>81369Y704</cusip>
    <value>760940</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4705</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4645</Sole>
      <Shared>0</Shared>
      <None>60</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>STATE STREET UTI</titleOfClass>
    <cusip>81369Y886</cusip>
    <value>381254</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8308</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7934</Sole>
      <Shared>0</Shared>
      <None>374</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>STATE STREET CON</titleOfClass>
    <cusip>81369Y407</cusip>
    <value>1153226</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10582</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10280</Sole>
      <Shared>0</Shared>
      <None>302</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>STATE STREET TEC</titleOfClass>
    <cusip>81369Y803</cusip>
    <value>7623676</value>
    <shrsOrPrnAmt>
      <sshPrnamt>57364</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>56216</Sole>
      <Shared>0</Shared>
      <None>1148</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>STATE STREET HEA</titleOfClass>
    <cusip>81369Y209</cusip>
    <value>2968266</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20246</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>19573</Sole>
      <Shared>0</Shared>
      <None>673</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>STATE STREET REA</titleOfClass>
    <cusip>81369Y860</cusip>
    <value>642460</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15735</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15637</Sole>
      <Shared>0</Shared>
      <None>98</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>STATE STREET FIN</titleOfClass>
    <cusip>81369Y605</cusip>
    <value>502685</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10182</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10017</Sole>
      <Shared>0</Shared>
      <None>165</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SHELL PLC</nameOfIssuer>
    <titleOfClass>SPON ADS</titleOfClass>
    <cusip>780259305</cusip>
    <value>688014</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7398</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7287</Sole>
      <Shared>0</Shared>
      <None>111</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SIGA TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>826917106</cusip>
    <value>286471</value>
    <shrsOrPrnAmt>
      <sshPrnamt>53546</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>53546</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SM ENERGY COMPANY</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>78454L100</cusip>
    <value>208906</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>2630339</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15287</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15033</Sole>
      <Shared>0</Shared>
      <None>254</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SOUTHSTATE BK CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>84472E102</cusip>
    <value>632374</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6835</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6835</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR GOLD TR</nameOfIssuer>
    <titleOfClass>GOLD SHS</titleOfClass>
    <cusip>78463V107</cusip>
    <value>1617030</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3758</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3669</Sole>
      <Shared>0</Shared>
      <None>89</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>STATE STREET SPD</titleOfClass>
    <cusip>78464A888</cusip>
    <value>1019580</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10328</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10328</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>STATE STREET SPD</titleOfClass>
    <cusip>78468R739</cusip>
    <value>3345399</value>
    <shrsOrPrnAmt>
      <sshPrnamt>69944</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>68020</Sole>
      <Shared>0</Shared>
      <None>1924</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>STATE STREET SPD</titleOfClass>
    <cusip>78464A474</cusip>
    <value>1619901</value>
    <shrsOrPrnAmt>
      <sshPrnamt>53871</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>49073</Sole>
      <Shared>0</Shared>
      <None>4798</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>BLOOMBERG EMERGI</titleOfClass>
    <cusip>78464A391</cusip>
    <value>309466</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14994</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14680</Sole>
      <Shared>0</Shared>
      <None>314</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>STATE STREET SPD</titleOfClass>
    <cusip>78464A763</cusip>
    <value>289691</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1985</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1985</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>STATE STREET SPD</titleOfClass>
    <cusip>78464A698</cusip>
    <value>992691</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15237</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15237</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPINNAKER ETF SERIES</nameOfIssuer>
    <titleOfClass>SELECT STOXX EUR</titleOfClass>
    <cusip>84858T772</cusip>
    <value>1313498</value>
    <shrsOrPrnAmt>
      <sshPrnamt>32241</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>31738</Sole>
      <Shared>0</Shared>
      <None>503</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STAG INDUSTRIAL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>85254J102</cusip>
    <value>400266</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11100</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11100</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>2566242</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3946</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3932</Sole>
      <Shared>0</Shared>
      <None>14</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STEEL DYNAMICS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>858119100</cusip>
    <value>1949040</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10828</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10662</Sole>
      <Shared>0</Shared>
      <None>166</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STERLING INFRASTRUCTURE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>859241101</cusip>
    <value>1615233</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3966</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3966</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SUPERNUS PHARMACEUTICALS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>868459108</cusip>
    <value>1085697</value>
    <shrsOrPrnAmt>
      <sshPrnamt>21004</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>21004</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SURGEPAYS INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>86882L204</cusip>
    <value>24408</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>6055795</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28833</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28606</Sole>
      <Shared>0</Shared>
      <None>227</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TAIWAN SEMICONDUCTOR MANUFAC</nameOfIssuer>
    <titleOfClass>SPONSORED ADS</titleOfClass>
    <cusip>874039100</cusip>
    <value>2853988</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8445</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8346</Sole>
      <Shared>0</Shared>
      <None>99</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TANDY LEATHER FACTORY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>87538X105</cusip>
    <value>29044</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>316669</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1877</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1507</Sole>
      <Shared>0</Shared>
      <None>370</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TERRENO RLTY CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>88146M101</cusip>
    <value>601977</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9801</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9801</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>THE CIGNA GROUP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>125523100</cusip>
    <value>1298539</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4868</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4811</Sole>
      <Shared>0</Shared>
      <None>57</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>THERAVANCE BIOPHARMA INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>G8807B106</cusip>
    <value>240740</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14833</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14833</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TJX COS INC NEW</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>872540109</cusip>
    <value>4526377</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28343</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28080</Sole>
      <Shared>0</Shared>
      <None>263</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TRACTOR SUPPLY CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>892356106</cusip>
    <value>252638</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5577</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5077</Sole>
      <Shared>0</Shared>
      <None>500</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TRIO TECH INTL</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>896712205</cusip>
    <value>138812</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>520414</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7235</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7203</Sole>
      <Shared>0</Shared>
      <None>32</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UFP TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>902673102</cusip>
    <value>238128</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>869663</value>
    <shrsOrPrnAmt>
      <sshPrnamt>78348</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>78348</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ULTA BEAUTY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>90384S303</cusip>
    <value>1101350</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2107</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2107</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNION PAC CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>907818108</cusip>
    <value>408572</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1684</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1613</Sole>
      <Shared>0</Shared>
      <None>71</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNITED RENTALS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>911363109</cusip>
    <value>8149682</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11186</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10980</Sole>
      <Shared>0</Shared>
      <None>206</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNITED STS LIME &amp; MINERALS I</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>911922102</cusip>
    <value>1040439</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>1928964</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3253</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3195</Sole>
      <Shared>0</Shared>
      <None>58</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>URBAN EDGE PPTYS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>91704F104</cusip>
    <value>312667</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15649</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15649</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>URBAN OUTFITTERS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>917047102</cusip>
    <value>772173</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12189</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12189</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>V2X INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>92242T101</cusip>
    <value>502379</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>9286502</value>
    <shrsOrPrnAmt>
      <sshPrnamt>37585</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>37121</Sole>
      <Shared>0</Shared>
      <None>464</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD BD INDEX FDS</nameOfIssuer>
    <titleOfClass>SHORT TRM BOND</titleOfClass>
    <cusip>921937827</cusip>
    <value>463482</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5911</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3773</Sole>
      <Shared>0</Shared>
      <None>2138</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INDEX FDS</nameOfIssuer>
    <titleOfClass>SM CP VAL ETF</titleOfClass>
    <cusip>922908611</cusip>
    <value>3714758</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17099</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16396</Sole>
      <Shared>0</Shared>
      <None>703</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INTL EQUITY INDEX F</nameOfIssuer>
    <titleOfClass>FTSE EUROPE ETF</titleOfClass>
    <cusip>922042874</cusip>
    <value>563904</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6841</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6841</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INTL EQUITY INDEX F</nameOfIssuer>
    <titleOfClass>FTSE EMR MKT ETF</titleOfClass>
    <cusip>922042858</cusip>
    <value>1674469</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>ALLWRLD EX US</titleOfClass>
    <cusip>922042775</cusip>
    <value>1729958</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23035</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>22592</Sole>
      <Shared>0</Shared>
      <None>443</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD MUN BD FDS</nameOfIssuer>
    <titleOfClass>TAX EXEMPT BD</titleOfClass>
    <cusip>922907746</cusip>
    <value>1236823</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24791</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23118</Sole>
      <Shared>0</Shared>
      <None>1673</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SCOTTSDALE FDS</nameOfIssuer>
    <titleOfClass>INT-TERM CORP</titleOfClass>
    <cusip>92206C870</cusip>
    <value>2131061</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 SCOTTSDALE FDS</nameOfIssuer>
    <titleOfClass>INTER TERM TREAS</titleOfClass>
    <cusip>92206C706</cusip>
    <value>3206648</value>
    <shrsOrPrnAmt>
      <sshPrnamt>53848</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>53477</Sole>
      <Shared>0</Shared>
      <None>371</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SCOTTSDALE FDS</nameOfIssuer>
    <titleOfClass>LONG TERM TREAS</titleOfClass>
    <cusip>92206C847</cusip>
    <value>2533561</value>
    <shrsOrPrnAmt>
      <sshPrnamt>45769</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>42607</Sole>
      <Shared>0</Shared>
      <None>3162</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SCOTTSDALE FDS</nameOfIssuer>
    <titleOfClass>SHRT TRM CORP BD</titleOfClass>
    <cusip>92206C409</cusip>
    <value>2682259</value>
    <shrsOrPrnAmt>
      <sshPrnamt>33837</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>31024</Sole>
      <Shared>0</Shared>
      <None>2813</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SCOTTSDALE FDS</nameOfIssuer>
    <titleOfClass>LG-TERM COR BD</titleOfClass>
    <cusip>92206C813</cusip>
    <value>1454724</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19469</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18988</Sole>
      <Shared>0</Shared>
      <None>481</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VIRCO MFG CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>927651109</cusip>
    <value>64278</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>790032</value>
    <shrsOrPrnAmt>
      <sshPrnamt>34259</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>33178</Sole>
      <Shared>0</Shared>
      <None>1081</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WALMART INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>931142103</cusip>
    <value>19040875</value>
    <shrsOrPrnAmt>
      <sshPrnamt>153209</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>150774</Sole>
      <Shared>0</Shared>
      <None>2435</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WARRIOR MET COAL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>93627C101</cusip>
    <value>1468882</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15769</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15769</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WELLTOWER INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>95040Q104</cusip>
    <value>1996080</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10096</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9892</Sole>
      <Shared>0</Shared>
      <None>204</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WESCO INTL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>95082P105</cusip>
    <value>1312282</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>1751693</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6476</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6476</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WILLAMETTE VALLEY VINEYARDS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>969136100</cusip>
    <value>33207</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>804222</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1881</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1881</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WISDOMTREE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>97717P104</cusip>
    <value>895658</value>
    <shrsOrPrnAmt>
      <sshPrnamt>61515</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>61515</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WISDOMTREE TR</nameOfIssuer>
    <titleOfClass>FLOATNG RAT TREA</titleOfClass>
    <cusip>97717Y527</cusip>
    <value>1239119</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24615</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>24615</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WISDOMTREE TR</nameOfIssuer>
    <titleOfClass>YIELD ENHANCD US</titleOfClass>
    <cusip>97717X511</cusip>
    <value>1006936</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23175</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>22742</Sole>
      <Shared>0</Shared>
      <None>433</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>XENIA HOTELS &amp; RESORTS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>984017103</cusip>
    <value>486557</value>
    <shrsOrPrnAmt>
      <sshPrnamt>32809</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>32809</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>YETI HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>98585X104</cusip>
    <value>840326</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>ZOETIS INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>98978V103</cusip>
    <value>204149</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1727</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1727</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ZYMEWORKS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>98985Y108</cusip>
    <value>273562</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>