<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