<?xml version="1.0" encoding="utf-8"?>
<informationTable xmlns="http://www.sec.gov/edgar/document/thirteenf/informationtable" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <infoTable>
    <nameOfIssuer>ACCO Brands</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00081T108</cusip>
    <value>753513</value>
    <shrsOrPrnAmt>
      <sshPrnamt>251171</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>200311</Sole>
      <Shared>0</Shared>
      <None>50860</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Acacia Research Corp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>003881307</cusip>
    <value>3930934</value>
    <shrsOrPrnAmt>
      <sshPrnamt>817242</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>509375</Sole>
      <Shared>0</Shared>
      <None>307867</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Aebi Schmidt Holding AG</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>H00501108</cusip>
    <value>783723</value>
    <shrsOrPrnAmt>
      <sshPrnamt>80713</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>64365</Sole>
      <Shared>0</Shared>
      <None>16348</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Alico Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>016230104</cusip>
    <value>11772798</value>
    <shrsOrPrnAmt>
      <sshPrnamt>285332</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>177824</Sole>
      <Shared>0</Shared>
      <None>107508</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Alight Cls A</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>01626W101</cusip>
    <value>195660</value>
    <shrsOrPrnAmt>
      <sshPrnamt>335781</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>267781</Sole>
      <Shared>0</Shared>
      <None>68000</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Alpine Income Property Trust</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>02083X103</cusip>
    <value>4793760</value>
    <shrsOrPrnAmt>
      <sshPrnamt>266320</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>165984</Sole>
      <Shared>0</Shared>
      <None>100336</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>American Coastal Insurance</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>910710102</cusip>
    <value>635929</value>
    <shrsOrPrnAmt>
      <sshPrnamt>56527</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>45077</Sole>
      <Shared>0</Shared>
      <None>11450</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>American Integrity Insurance</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>026948109</cusip>
    <value>7508018</value>
    <shrsOrPrnAmt>
      <sshPrnamt>389420</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>243002</Sole>
      <Shared>0</Shared>
      <None>146418</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>American Public Education</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>02913V103</cusip>
    <value>9535989</value>
    <shrsOrPrnAmt>
      <sshPrnamt>167651</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>104483</Sole>
      <Shared>0</Shared>
      <None>63168</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Amtech Systems</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>032332504</cusip>
    <value>4734733</value>
    <shrsOrPrnAmt>
      <sshPrnamt>405371</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>253209</Sole>
      <Shared>0</Shared>
      <None>152162</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Asure Software</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>04649U102</cusip>
    <value>6035291</value>
    <shrsOrPrnAmt>
      <sshPrnamt>701778</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>450893</Sole>
      <Shared>0</Shared>
      <None>250885</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Aviat Networks Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>05366Y201</cusip>
    <value>8665079</value>
    <shrsOrPrnAmt>
      <sshPrnamt>383241</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>239081</Sole>
      <Shared>0</Shared>
      <None>144160</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BGSF Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>05601C105</cusip>
    <value>2484719</value>
    <shrsOrPrnAmt>
      <sshPrnamt>384037</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>239345</Sole>
      <Shared>0</Shared>
      <None>144692</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Banc of California Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>05990K106</cusip>
    <value>681594</value>
    <shrsOrPrnAmt>
      <sshPrnamt>38771</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>30921</Sole>
      <Shared>0</Shared>
      <None>7850</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Bankwell Financial Group</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>06654A103</cusip>
    <value>8151360</value>
    <shrsOrPrnAmt>
      <sshPrnamt>168000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>104710</Sole>
      <Shared>0</Shared>
      <None>63290</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Barrett Business Services Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>068463108</cusip>
    <value>1122117</value>
    <shrsOrPrnAmt>
      <sshPrnamt>38455</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>30665</Sole>
      <Shared>0</Shared>
      <None>7790</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Benchmark Electronics, Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>08160H101</cusip>
    <value>940631</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16779</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>13379</Sole>
      <Shared>0</Shared>
      <None>3400</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Bloomin Brands</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>094235108</cusip>
    <value>360736</value>
    <shrsOrPrnAmt>
      <sshPrnamt>66803</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>53273</Sole>
      <Shared>0</Shared>
      <None>13530</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Bowman Consulting Grp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>103002101</cusip>
    <value>6983499</value>
    <shrsOrPrnAmt>
      <sshPrnamt>245552</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>153034</Sole>
      <Shared>0</Shared>
      <None>92518</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Brandywine Realty Trust</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>105368203</cusip>
    <value>671611</value>
    <shrsOrPrnAmt>
      <sshPrnamt>247827</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>197577</Sole>
      <Shared>0</Shared>
      <None>50250</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Bridgewater Bancshares</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>108621103</cusip>
    <value>1274701</value>
    <shrsOrPrnAmt>
      <sshPrnamt>72017</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>57427</Sole>
      <Shared>0</Shared>
      <None>14590</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Build A Bear Workshop</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>120076104</cusip>
    <value>8088264</value>
    <shrsOrPrnAmt>
      <sshPrnamt>215975</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>134738</Sole>
      <Shared>0</Shared>
      <None>81237</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Burke Herbert Financial Servic</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>12135Y108</cusip>
    <value>351939</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5650</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>4510</Sole>
      <Shared>0</Shared>
      <None>1140</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Business First Bancshares Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>12326C105</cusip>
    <value>1281236</value>
    <shrsOrPrnAmt>
      <sshPrnamt>47383</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>37783</Sole>
      <Shared>0</Shared>
      <None>9600</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CPI Card Group</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>12634H200</cusip>
    <value>6762168</value>
    <shrsOrPrnAmt>
      <sshPrnamt>466035</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>290307</Sole>
      <Shared>0</Shared>
      <None>175728</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Caleres Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>129500104</cusip>
    <value>988473</value>
    <shrsOrPrnAmt>
      <sshPrnamt>93783</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>74803</Sole>
      <Shared>0</Shared>
      <None>18980</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>California Bancorp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>84252A106</cusip>
    <value>757512</value>
    <shrsOrPrnAmt>
      <sshPrnamt>42749</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>34089</Sole>
      <Shared>0</Shared>
      <None>8660</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Capital Bancorp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>139737100</cusip>
    <value>6878446</value>
    <shrsOrPrnAmt>
      <sshPrnamt>231286</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>144360</Sole>
      <Shared>0</Shared>
      <None>86926</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Carters</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>146229109</cusip>
    <value>1548336</value>
    <shrsOrPrnAmt>
      <sshPrnamt>43298</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>34598</Sole>
      <Shared>0</Shared>
      <None>8700</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Chiron Real Estate Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>37954A303</cusip>
    <value>4353659</value>
    <shrsOrPrnAmt>
      <sshPrnamt>131610</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>85688</Sole>
      <Shared>0</Shared>
      <None>45922</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Coastal Financial</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>19046P209</cusip>
    <value>1552288</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20398</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>16268</Sole>
      <Shared>0</Shared>
      <None>4130</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Cohu Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>192576106</cusip>
    <value>1408214</value>
    <shrsOrPrnAmt>
      <sshPrnamt>45990</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>36670</Sole>
      <Shared>0</Shared>
      <None>9320</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Colony Bankcorp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>19623P101</cusip>
    <value>6427305</value>
    <shrsOrPrnAmt>
      <sshPrnamt>321848</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>200781</Sole>
      <Shared>0</Shared>
      <None>121067</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Columbus McKinnon Corp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>199333105</cusip>
    <value>291239</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20044</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>15994</Sole>
      <Shared>0</Shared>
      <None>4050</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Commercial Banc Group</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>20112C106</cusip>
    <value>5867666</value>
    <shrsOrPrnAmt>
      <sshPrnamt>225506</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>140716</Sole>
      <Shared>0</Shared>
      <None>84790</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Comtech Telecom Corp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>205826209</cusip>
    <value>1539763</value>
    <shrsOrPrnAmt>
      <sshPrnamt>463784</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>289144</Sole>
      <Shared>0</Shared>
      <None>174640</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ConnectOne Bancorp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>20786W107</cusip>
    <value>1324446</value>
    <shrsOrPrnAmt>
      <sshPrnamt>49475</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>39455</Sole>
      <Shared>0</Shared>
      <None>10020</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Cooper Standard Hlds</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>21676P103</cusip>
    <value>3663233</value>
    <shrsOrPrnAmt>
      <sshPrnamt>131440</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>82021</Sole>
      <Shared>0</Shared>
      <None>49419</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Core Laboratories</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>21867A105</cusip>
    <value>745996</value>
    <shrsOrPrnAmt>
      <sshPrnamt>44431</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>35431</Sole>
      <Shared>0</Shared>
      <None>9000</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Core Molding Technologies</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>218683100</cusip>
    <value>3232230</value>
    <shrsOrPrnAmt>
      <sshPrnamt>144296</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>89928</Sole>
      <Shared>0</Shared>
      <None>54368</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Cra Intl Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>12618T105</cusip>
    <value>406643</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2512</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>2002</Sole>
      <Shared>0</Shared>
      <None>510</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Crawford &amp; Co Cls A</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>224633206</cusip>
    <value>638220</value>
    <shrsOrPrnAmt>
      <sshPrnamt>64014</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>51054</Sole>
      <Shared>0</Shared>
      <None>12960</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Customers Bancorp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>23204G100</cusip>
    <value>760664</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10959</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>8739</Sole>
      <Shared>0</Shared>
      <None>2220</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DHI Group</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>23331S100</cusip>
    <value>10197847</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3629127</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>2261382</Sole>
      <Shared>0</Shared>
      <None>1367745</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DMC Global Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>23291C103</cusip>
    <value>4192060</value>
    <shrsOrPrnAmt>
      <sshPrnamt>804618</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>523162</Sole>
      <Shared>0</Shared>
      <None>281456</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DXP Enterprises, Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>233377407</cusip>
    <value>1641828</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11750</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>9370</Sole>
      <Shared>0</Shared>
      <None>2380</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Daktronics, Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>234264109</cusip>
    <value>915155</value>
    <shrsOrPrnAmt>
      <sshPrnamt>46811</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>37331</Sole>
      <Shared>0</Shared>
      <None>9480</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Designer Brands</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>250565108</cusip>
    <value>918912</value>
    <shrsOrPrnAmt>
      <sshPrnamt>161496</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>128786</Sole>
      <Shared>0</Shared>
      <None>32710</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Douglas Dynamics Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>25960R105</cusip>
    <value>1338167</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31793</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>25353</Sole>
      <Shared>0</Shared>
      <None>6440</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EPlus Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>294268107</cusip>
    <value>782374</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10397</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>8287</Sole>
      <Shared>0</Shared>
      <None>2110</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Edgewell Personal Care</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>28035Q102</cusip>
    <value>612074</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28682</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>22892</Sole>
      <Shared>0</Shared>
      <None>5790</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Enerpac Tool Group</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>292765104</cusip>
    <value>303576</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8324</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>6634</Sole>
      <Shared>0</Shared>
      <None>1690</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Ennis Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>293389102</cusip>
    <value>1040541</value>
    <shrsOrPrnAmt>
      <sshPrnamt>48578</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>38758</Sole>
      <Shared>0</Shared>
      <None>9820</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FS Bancorp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>30263Y104</cusip>
    <value>8030347</value>
    <shrsOrPrnAmt>
      <sshPrnamt>208094</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>129693</Sole>
      <Shared>0</Shared>
      <None>78401</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>First Business Financial Servi</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>319390100</cusip>
    <value>7598306</value>
    <shrsOrPrnAmt>
      <sshPrnamt>140892</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>87801</Sole>
      <Shared>0</Shared>
      <None>53091</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>First Financial Corp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>320218100</cusip>
    <value>1189045</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18814</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>15004</Sole>
      <Shared>0</Shared>
      <None>3810</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Five Star Bancorp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>33830T103</cusip>
    <value>6667048</value>
    <shrsOrPrnAmt>
      <sshPrnamt>176751</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>115907</Sole>
      <Shared>0</Shared>
      <None>60844</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Forrester Research</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>346563109</cusip>
    <value>4023394</value>
    <shrsOrPrnAmt>
      <sshPrnamt>710847</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>443833</Sole>
      <Shared>0</Shared>
      <None>267014</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Gbank Financial Holdings</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>36166F100</cusip>
    <value>1076020</value>
    <shrsOrPrnAmt>
      <sshPrnamt>40210</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>32070</Sole>
      <Shared>0</Shared>
      <None>8140</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Genasys</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>36872P103</cusip>
    <value>2642929</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1452159</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>906686</Sole>
      <Shared>0</Shared>
      <None>545473</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GigaCloud Tech Cls A</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>G38644103</cusip>
    <value>965369</value>
    <shrsOrPrnAmt>
      <sshPrnamt>21273</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>16963</Sole>
      <Shared>0</Shared>
      <None>4310</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Global Net Lease REIT</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>379378201</cusip>
    <value>731681</value>
    <shrsOrPrnAmt>
      <sshPrnamt>78171</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>62334</Sole>
      <Shared>0</Shared>
      <None>15837</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Hackett Group, Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>404609109</cusip>
    <value>878721</value>
    <shrsOrPrnAmt>
      <sshPrnamt>67542</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>53862</Sole>
      <Shared>0</Shared>
      <None>13680</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Hamilton Beach Brands Hld</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>40701T104</cusip>
    <value>6520866</value>
    <shrsOrPrnAmt>
      <sshPrnamt>344109</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>214441</Sole>
      <Shared>0</Shared>
      <None>129668</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Healthcare Services Group Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>421906108</cusip>
    <value>1832388</value>
    <shrsOrPrnAmt>
      <sshPrnamt>98781</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>78921</Sole>
      <Shared>0</Shared>
      <None>19860</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Heartland Express</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>422347104</cusip>
    <value>425786</value>
    <shrsOrPrnAmt>
      <sshPrnamt>40941</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>32651</Sole>
      <Shared>0</Shared>
      <None>8290</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Helen of Troy Corp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>G4388N106</cusip>
    <value>827420</value>
    <shrsOrPrnAmt>
      <sshPrnamt>57380</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>45760</Sole>
      <Shared>0</Shared>
      <None>11620</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Heritage Financial</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>42722X106</cusip>
    <value>910702</value>
    <shrsOrPrnAmt>
      <sshPrnamt>35027</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>27937</Sole>
      <Shared>0</Shared>
      <None>7090</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Heritage Insurance Hlds Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>42727J102</cusip>
    <value>10653825</value>
    <shrsOrPrnAmt>
      <sshPrnamt>405860</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>253266</Sole>
      <Shared>0</Shared>
      <None>152594</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Home Bancorp, Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>43689E107</cusip>
    <value>3014824</value>
    <shrsOrPrnAmt>
      <sshPrnamt>49766</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>31619</Sole>
      <Shared>0</Shared>
      <None>18147</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Horizon Bancorp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>440407104</cusip>
    <value>7102681</value>
    <shrsOrPrnAmt>
      <sshPrnamt>428647</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>267127</Sole>
      <Shared>0</Shared>
      <None>161520</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Hudson Technologies</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>444144109</cusip>
    <value>863948</value>
    <shrsOrPrnAmt>
      <sshPrnamt>146930</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>117140</Sole>
      <Shared>0</Shared>
      <None>29790</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Hurco Companies Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>447324104</cusip>
    <value>2516307</value>
    <shrsOrPrnAmt>
      <sshPrnamt>171061</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>106619</Sole>
      <Shared>0</Shared>
      <None>64442</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Hyster-Yale Cls A</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>449172105</cusip>
    <value>905176</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27843</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>22203</Sole>
      <Shared>0</Shared>
      <None>5640</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>InTest Corp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>461147100</cusip>
    <value>6856381</value>
    <shrsOrPrnAmt>
      <sshPrnamt>502299</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>313243</Sole>
      <Shared>0</Shared>
      <None>189056</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>J. Jill Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>46620W201</cusip>
    <value>4095414</value>
    <shrsOrPrnAmt>
      <sshPrnamt>357366</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>219646</Sole>
      <Shared>0</Shared>
      <None>137720</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JAKKS Pacific Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>47012E403</cusip>
    <value>8703825</value>
    <shrsOrPrnAmt>
      <sshPrnamt>436939</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>272346</Sole>
      <Shared>0</Shared>
      <None>164593</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Janus International group</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>47103N106</cusip>
    <value>292304</value>
    <shrsOrPrnAmt>
      <sshPrnamt>56758</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>45248</Sole>
      <Shared>0</Shared>
      <None>11510</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Jefferson Capital</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>47248R103</cusip>
    <value>552939</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28754</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>22934</Sole>
      <Shared>0</Shared>
      <None>5820</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Kelly Services Cls A</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>488152208</cusip>
    <value>4843118</value>
    <shrsOrPrnAmt>
      <sshPrnamt>547245</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>364115</Sole>
      <Shared>0</Shared>
      <None>183130</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Kimball Electronics</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>49428J109</cusip>
    <value>7639954</value>
    <shrsOrPrnAmt>
      <sshPrnamt>322497</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>200985</Sole>
      <Shared>0</Shared>
      <None>121512</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Koppers Holdings</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>50060P106</cusip>
    <value>1682155</value>
    <shrsOrPrnAmt>
      <sshPrnamt>43489</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>34679</Sole>
      <Shared>0</Shared>
      <None>8810</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Lakeland Industries</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>511795106</cusip>
    <value>7608354</value>
    <shrsOrPrnAmt>
      <sshPrnamt>928981</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>579553</Sole>
      <Shared>0</Shared>
      <None>349428</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Lifetime Brands Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>53222Q103</cusip>
    <value>2845530</value>
    <shrsOrPrnAmt>
      <sshPrnamt>495737</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>308872</Sole>
      <Shared>0</Shared>
      <None>186865</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Marcus Corp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>566330106</cusip>
    <value>2883015</value>
    <shrsOrPrnAmt>
      <sshPrnamt>167910</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>104670</Sole>
      <Shared>0</Shared>
      <None>63240</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Matrix Service Co</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>576853105</cusip>
    <value>624535</value>
    <shrsOrPrnAmt>
      <sshPrnamt>54402</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>43382</Sole>
      <Shared>0</Shared>
      <None>11020</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Merchants Bancorp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>58844R108</cusip>
    <value>1233791</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28753</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>22933</Sole>
      <Shared>0</Shared>
      <None>5820</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Metropolitan Bank Hld</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>591774104</cusip>
    <value>11392406</value>
    <shrsOrPrnAmt>
      <sshPrnamt>136780</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>88899</Sole>
      <Shared>0</Shared>
      <None>47881</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Miller Industries Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>600551204</cusip>
    <value>6232105</value>
    <shrsOrPrnAmt>
      <sshPrnamt>136819</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>85303</Sole>
      <Shared>0</Shared>
      <None>51516</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Mistras Group Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>60649T107</cusip>
    <value>4216350</value>
    <shrsOrPrnAmt>
      <sshPrnamt>285274</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>183447</Sole>
      <Shared>0</Shared>
      <None>101827</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Monro Muffler Brake Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>610236101</cusip>
    <value>508885</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31726</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>25306</Sole>
      <Shared>0</Shared>
      <None>6420</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MotorCar Parts of America Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>620071100</cusip>
    <value>8542976</value>
    <shrsOrPrnAmt>
      <sshPrnamt>772421</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>481885</Sole>
      <Shared>0</Shared>
      <None>290536</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NN Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>629337106</cusip>
    <value>599656</value>
    <shrsOrPrnAmt>
      <sshPrnamt>413556</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>258578</Sole>
      <Shared>0</Shared>
      <None>154978</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NPK International</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>651718504</cusip>
    <value>738367</value>
    <shrsOrPrnAmt>
      <sshPrnamt>50957</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>40637</Sole>
      <Shared>0</Shared>
      <None>10320</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NWPX Infrastructure</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>667746101</cusip>
    <value>8575812</value>
    <shrsOrPrnAmt>
      <sshPrnamt>110144</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>68736</Sole>
      <Shared>0</Shared>
      <None>41408</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>National Cinemedia</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>635309206</cusip>
    <value>480055</value>
    <shrsOrPrnAmt>
      <sshPrnamt>157395</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>125505</Sole>
      <Shared>0</Shared>
      <None>31890</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Natural Gas Services Group Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>63886Q109</cusip>
    <value>11524815</value>
    <shrsOrPrnAmt>
      <sshPrnamt>305374</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>190513</Sole>
      <Shared>0</Shared>
      <None>114861</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Northeast Bank</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>66405S100</cusip>
    <value>14330996</value>
    <shrsOrPrnAmt>
      <sshPrnamt>127534</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>82813</Sole>
      <Shared>0</Shared>
      <None>44721</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>OneSpan Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>68287N100</cusip>
    <value>752095</value>
    <shrsOrPrnAmt>
      <sshPrnamt>71424</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>56954</Sole>
      <Shared>0</Shared>
      <None>14470</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Orrstown Financial Services</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>687380105</cusip>
    <value>5319419</value>
    <shrsOrPrnAmt>
      <sshPrnamt>147434</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>91874</Sole>
      <Shared>0</Shared>
      <None>55560</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PAMT Corp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>693149106</cusip>
    <value>1644700</value>
    <shrsOrPrnAmt>
      <sshPrnamt>194639</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>121315</Sole>
      <Shared>0</Shared>
      <None>73324</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PC Connection</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>69318J100</cusip>
    <value>574428</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9826</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>7836</Sole>
      <Shared>0</Shared>
      <None>1990</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PRA Group</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>69354N106</cusip>
    <value>770350</value>
    <shrsOrPrnAmt>
      <sshPrnamt>44020</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>35110</Sole>
      <Shared>0</Shared>
      <None>8910</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Park Dental</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>700402100</cusip>
    <value>2273690</value>
    <shrsOrPrnAmt>
      <sshPrnamt>135500</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>84640</Sole>
      <Shared>0</Shared>
      <None>50860</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Parke Bancorp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>700885106</cusip>
    <value>8333668</value>
    <shrsOrPrnAmt>
      <sshPrnamt>293439</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>182885</Sole>
      <Shared>0</Shared>
      <None>110554</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Pathward Financial Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>59100U108</cusip>
    <value>1761400</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19740</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>15740</Sole>
      <Shared>0</Shared>
      <None>4000</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Penguin Solutions</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>706915105</cusip>
    <value>1166387</value>
    <shrsOrPrnAmt>
      <sshPrnamt>66272</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>52842</Sole>
      <Shared>0</Shared>
      <None>13430</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Perdoceo Education Corp.</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>71363P106</cusip>
    <value>2040782</value>
    <shrsOrPrnAmt>
      <sshPrnamt>54845</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>43735</Sole>
      <Shared>0</Shared>
      <None>11110</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Photronics Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>719405102</cusip>
    <value>2086813</value>
    <shrsOrPrnAmt>
      <sshPrnamt>51641</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>41181</Sole>
      <Shared>0</Shared>
      <None>10460</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>QCR Holdings Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>74727A104</cusip>
    <value>1062229</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12431</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>9911</Sole>
      <Shared>0</Shared>
      <None>2520</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>RCM Technologies</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>749360400</cusip>
    <value>5466556</value>
    <shrsOrPrnAmt>
      <sshPrnamt>285609</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>178325</Sole>
      <Shared>0</Shared>
      <None>107284</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Red Robin Gourmet Burgers</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>75689M101</cusip>
    <value>5253461</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1792990</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>1118567</Sole>
      <Shared>0</Shared>
      <None>674423</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Repay Holdings Cls A</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>76029L100</cusip>
    <value>3674780</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1413377</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>881897</Sole>
      <Shared>0</Shared>
      <None>531480</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Resources Connection</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>76122Q105</cusip>
    <value>195191</value>
    <shrsOrPrnAmt>
      <sshPrnamt>52330</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>41730</Sole>
      <Shared>0</Shared>
      <None>10600</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Ribbon Communications Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>762544104</cusip>
    <value>521893</value>
    <shrsOrPrnAmt>
      <sshPrnamt>246176</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>196236</Sole>
      <Shared>0</Shared>
      <None>49940</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Rimini Street Inc.</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>76674Q107</cusip>
    <value>6276359</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1913524</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>1239463</Sole>
      <Shared>0</Shared>
      <None>674061</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Riverview Bancorp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>769397100</cusip>
    <value>4154453</value>
    <shrsOrPrnAmt>
      <sshPrnamt>755355</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>470706</Sole>
      <Shared>0</Shared>
      <None>284649</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Sensus Healthcare</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>81728J109</cusip>
    <value>3168367</value>
    <shrsOrPrnAmt>
      <sshPrnamt>796072</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>496382</Sole>
      <Shared>0</Shared>
      <None>299690</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Shimmick</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>82455M109</cusip>
    <value>1613985</value>
    <shrsOrPrnAmt>
      <sshPrnamt>439778</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>274056</Sole>
      <Shared>0</Shared>
      <None>165722</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Shoe Carnival Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>824889109</cusip>
    <value>4824793</value>
    <shrsOrPrnAmt>
      <sshPrnamt>309480</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>193070</Sole>
      <Shared>0</Shared>
      <None>116410</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Silvercrest Asset Mgmnt Cls A</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>828359109</cusip>
    <value>2777860</value>
    <shrsOrPrnAmt>
      <sshPrnamt>206686</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>128816</Sole>
      <Shared>0</Shared>
      <None>77870</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Sleep Number Corp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>83125X103</cusip>
    <value>3172564</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1767445</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>1101103</Sole>
      <Shared>0</Shared>
      <None>666342</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Smith Micro Software</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>832154405</cusip>
    <value>374047</value>
    <shrsOrPrnAmt>
      <sshPrnamt>519799</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>323227</Sole>
      <Shared>0</Shared>
      <None>196572</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Stagwell Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>85256A109</cusip>
    <value>1529225</value>
    <shrsOrPrnAmt>
      <sshPrnamt>243120</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>193890</Sole>
      <Shared>0</Shared>
      <None>49230</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Standard Motor</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>853666105</cusip>
    <value>514048</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14797</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>11797</Sole>
      <Shared>0</Shared>
      <None>3000</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Sunrise Realty Trust</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>867981102</cusip>
    <value>3091278</value>
    <shrsOrPrnAmt>
      <sshPrnamt>403035</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>251496</Sole>
      <Shared>0</Shared>
      <None>151539</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Tilly's Inc Cls A</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>886885102</cusip>
    <value>2807946</value>
    <shrsOrPrnAmt>
      <sshPrnamt>693320</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>432414</Sole>
      <Shared>0</Shared>
      <None>260906</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TrueBlue Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>89785X101</cusip>
    <value>291178</value>
    <shrsOrPrnAmt>
      <sshPrnamt>74470</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>59410</Sole>
      <Shared>0</Shared>
      <None>15060</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Twin Disc Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>901476101</cusip>
    <value>7995630</value>
    <shrsOrPrnAmt>
      <sshPrnamt>530566</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>330669</Sole>
      <Shared>0</Shared>
      <None>199897</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>USCB Financial Hlds</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>90355N101</cusip>
    <value>6346613</value>
    <shrsOrPrnAmt>
      <sshPrnamt>342320</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>213345</Sole>
      <Shared>0</Shared>
      <None>128975</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Ultra Clean Holdings</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>90385V107</cusip>
    <value>570315</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9172</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>7312</Sole>
      <Shared>0</Shared>
      <None>1860</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Unity Bancorp</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>913290102</cusip>
    <value>8233144</value>
    <shrsOrPrnAmt>
      <sshPrnamt>158849</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>99175</Sole>
      <Shared>0</Shared>
      <None>59674</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Universal Electronics Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>913483103</cusip>
    <value>1445708</value>
    <shrsOrPrnAmt>
      <sshPrnamt>350900</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>218607</Sole>
      <Shared>0</Shared>
      <None>132293</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Universal Logistics</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>91388P105</cusip>
    <value>722100</value>
    <shrsOrPrnAmt>
      <sshPrnamt>34158</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>27238</Sole>
      <Shared>0</Shared>
      <None>6920</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Versabank</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>92512J106</cusip>
    <value>8360484</value>
    <shrsOrPrnAmt>
      <sshPrnamt>590013</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>367631</Sole>
      <Shared>0</Shared>
      <None>222382</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Wabash National Corp.</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>929566107</cusip>
    <value>967198</value>
    <shrsOrPrnAmt>
      <sshPrnamt>112204</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>89484</Sole>
      <Shared>0</Shared>
      <None>22720</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>Zumiez Inc</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>989817101</cusip>
    <value>492883</value>
    <shrsOrPrnAmt>
      <sshPrnamt>22242</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <votingAuthority>
      <Sole>17732</Sole>
      <Shared>0</Shared>
      <None>4510</None>
    </votingAuthority>
  </infoTable>
</informationTable>
