<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM THE
CONSOLIDATED FINANCIAL STATEMENT OF FINANCIAL CONDITION AT AUGUST 31, 2000 AND
THE RESULTS OF INCOME FOR THE YEAR ENDED AUGUST 31, 2000 AND IS QUALIFIED IN ITS
ENTIRETY BY REFERENCE TO SUCH FINANCIAL STATEMENTS.
</LEGEND>
<S> <C>
<PERIOD-TYPE> YEAR
<FISCAL-YEAR-END> AUG-31-2000
<PERIOD-START> SEP-01-1999
<PERIOD-END> AUG-31-2000
<CASH> 1,642,359
<SECURITIES> 0
<RECEIVABLES> 1,306,128
<ALLOWANCES> 171,000
<INVENTORY> 831,993
<CURRENT-ASSETS> 4,207,577
<PP&E> 2,158,720
<DEPRECIATION> (1,653,619)
<TOTAL-ASSETS> 4,800,628
<CURRENT-LIABILITIES> 1,750,621
<BONDS> 188,543
0
0
<COMMON> 15,708
<OTHER-SE> 2,845,756
<TOTAL-LIABILITY-AND-EQUITY> 4,800,628
<SALES> 11,452,278
<TOTAL-REVENUES> 11,534,033
<CGS> 6,295,556
<TOTAL-COSTS> 6,295,556
<OTHER-EXPENSES> 1,201,859
<LOSS-PROVISION> 0
<INTEREST-EXPENSE> 29,706
<INCOME-PRETAX> 274,765
<INCOME-TAX> (80,000)
<INCOME-CONTINUING> 354,765
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> 354,765
<EPS-BASIC> .23
<EPS-DILUTED> .21
</TABLE>