<ARTICLE> 5 <PERIOD-TYPE> 6-MOS <FISCAL-YEAR-END> APR-30-2000 <PERIOD-START> MAY-1-1999 <PERIOD-END> OCT-31-1999 <CASH> 8,389,248 <SECURITIES> 0 <RECEIVABLES> 17,555,823 <ALLOWANCES> 600,000 <INVENTORY> 4,449631 <CURRENT-ASSETS> 30,447,912 <PP&E> 6,804,089 <DEPRECIATION> 3,172,993 <TOTAL-ASSETS> 34,088,218 <CURRENT-LIABILITIES> 12,347,317 <BONDS> 0 <PREFERRED-MANDATORY> 0 <PREFERRED> 0 <COMMON> 7,575,015 <OTHER-SE> 13,246,886 <TOTAL-LIABILITY-AND-EQUITY> 34,088,218 <SALES> 50,550,374 <TOTAL-REVENUES> 50,550,374 <CGS> 37,354,818 <TOTAL-COSTS> 37,354,818 <OTHER-EXPENSES> 676,062 <LOSS-PROVISION> 164,450 <INTEREST-EXPENSE> 0 <INCOME-PRETAX> 5,837,065 <INCOME-TAX> 2,225,000 <INCOME-CONTINUING> 3,612,065 <DISCONTINUED> 0 <EXTRAORDINARY> 0 <CHANGES> 0 <NET-INCOME> 3,612,065 <EPS-BASIC> .46 <EPS-DILUTED> .38