<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<S> <C> <C>
<PERIOD-TYPE> 6-MOS 6-MOS
<FISCAL-YEAR-END> MAR-31-2001 MAR-31-2000
<PERIOD-START> APR-01-2000 APR-01-1999
<PERIOD-END> SEP-30-2000 SEP-30-1999
<CASH> 9,571,451 799,896
<SECURITIES> 0 0
<RECEIVABLES> 10,073,353 11,500,460
<ALLOWANCES> 236,012 185,214
<INVENTORY> 0 0
<CURRENT-ASSETS> 20,243,097 13,570,556
<PP&E> 11,466,275 9,706,804
<DEPRECIATION> 6,323,076 4,458,300
<TOTAL-ASSETS> 48,158,507 42,352,025
<CURRENT-LIABILITIES> 13,397,640 10,715,255
<BONDS> 0 0
0 0
0 0
<COMMON> 69,113 65,844
<OTHER-SE> 28,028,898 21,106,193
<TOTAL-LIABILITY-AND-EQUITY> 48,158,507 42,352,025
<SALES> 40,988,053 31,138,636
<TOTAL-REVENUES> 40,988,053 31,138,636
<CGS> 21,639,228 16,688,876
<TOTAL-COSTS> 34,775,406 28,329,322
<OTHER-EXPENSES> 0 0
<LOSS-PROVISION> 0 0
<INTEREST-EXPENSE> 629,398 794,230
<INCOME-PRETAX> 5,741,994 2,028,046
<INCOME-TAX> 2,468,018 845,262
<INCOME-CONTINUING> 0 0
<DISCONTINUED> 0 0
<EXTRAORDINARY> 0 0
<CHANGES> 0 0
<NET-INCOME> 3,273,976 1,182,784
<EPS-BASIC> .48 .18
<EPS-DILUTED> .46 .18
</TABLE>