Date | 12/31/2023 | 9/30/2023 | 6/30/2023 | 3/31/2023 | 12/31/2022 | 9/30/2022 | 6/30/2022 | 3/31/2022 | 12/31/2021 | 9/30/2021 | 6/30/2021 | 12/31/2020 | 9/30/2020 | 6/30/2020 | 3/31/2020 | 12/31/2019 | 9/30/2019 | 6/30/2019 | 3/31/2019 | 12/31/2018 | 9/30/2018 | 6/30/2018 | 3/31/2018 | 12/31/2017 | 9/30/2017 | 6/30/2017 | 3/31/2017 | 12/31/2016 | 9/30/2016 | 6/30/2016 | 3/31/2016 | 12/31/2015 | 9/30/2015 | 6/30/2015 | 3/31/2015 | 12/31/2014 | 9/30/2014 | 6/30/2014 | 3/31/2014 | 12/31/2013 | 9/30/2013 | 6/30/2013 | 3/31/2013 | 12/31/2012 | 9/30/2012 | 6/30/2012 | 3/31/2012 | 12/31/2011 | 9/30/2011 | 6/30/2011 | 3/31/2011 | 12/31/2010 | 3/31/2010 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cash and Cash Equivalents | $378,537.00 | $399,419.00 | $470,472.00 | $508,245.00 | $892,099.00 | $1,113,915.00 | $1,209,541.00 | $2,370,898.00 | $4,915,322.00 | $11,174,704.00 | $10,369,153.00 | $6,830,017.00 | $6,319,194.00 | $6,091,480.00 | $6,622,109.00 | $10,221,514.00 | $31,652,589.00 | $27,720,235.00 | $22,926,529.00 | $23,668,446.00 | $24,517,197.00 | $25,426,773.00 | $27,208,717.00 | $28,521,120.00 | $31,157,631.00 | $29,518,217.00 | $27,209,997.00 | $24,880,213.00 | $22,407,386.00 | $24,295,346.00 | $21,728,069.00 | $33,402,344.00 | $30,759,897.00 | $24,141,139.00 | $23,720,352.00 | $19,383,611.00 | $18,261,757.00 | $19,766,428.00 | $12,797,054.00 | $14,255,375.00 | $10,131,743.00 | $7,918,594.00 | $10,156,227.00 | $12,134,493.00 | $6,134,973.00 | $9,437,455.00 | $7,526,780.00 | $9,025,242.00 | $8,375,404.00 | $9,261,876.00 | $7,926,372.00 | $11,895,611.00 | $6,498,869.00 |
Accounts Receivable Net Current | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Inventory | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Prepaid Expenses and Other Current Assets | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Current Assets | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Property Plant and Equipement | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Intangible Assets Net | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Goodwill | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Other Assets | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Assets | $381,937.00 | $402,502.00 | $473,692.00 | $514,156.00 | $894,599.00 | $1,120,401.00 | $1,216,279.00 | $2,377,186.00 | $4,922,111.00 | $11,182,042.00 | $10,379,401.00 | $6,833,805.00 | $6,347,932.00 | $6,106,568.00 | $6,637,197.00 | $10,260,426.00 | $31,667,677.00 | $27,735,323.00 | $22,966,617.00 | $23,708,534.00 | $24,557,285.00 | $25,466,861.00 | $27,248,805.00 | $28,580,047.00 | $31,356,494.00 | $29,792,580.00 | $27,397,560.00 | $25,690,723.00 | $22,594,949.00 | $24,482,909.00 | $21,915,632.00 | $35,207,447.00 | $32,622,331.00 | $26,094,780.00 | $25,954,210.00 | $24,386,142.00 | $23,501,935.00 | $25,288,618.00 | $18,529,338.00 | $28,244,501.00 | $24,620,953.00 | $22,942,750.00 | $26,457,391.00 | $38,966,384.00 | $33,785,792.00 | $37,812,579.00 | $36,834,076.00 | $57,417,223.00 | -- | -- | $60,566,500.00 | -- | -- |
Accounts Payable | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accrued Liabilities | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Current Liabilities | $3,398,332.00 | $3,362,946.00 | $3,328,960.00 | $7,036,286.00 | $7,377,876.00 | $7,363,947.00 | $7,335,491.00 | $8,782,669.00 | $11,482,877.00 | $11,628,901.00 | $11,893,242.00 | $12,873,624.00 | $13,025,905.00 | $12,785,582.00 | $13,124,817.00 | $16,674,190.00 | $17,517,475.00 | $19,965,734.00 | $19,897,328.00 | $21,409,274.00 | $26,454,484.00 | $27,982,216.00 | $30,326,692.00 | $32,425,107.00 | $36,271,124.00 | $39,433,876.00 | $40,913,371.00 | $43,135,070.00 | $42,718,695.00 | $46,066,152.00 | $50,534,733.00 | $50,938,819.00 | $49,759,627.00 | $50,198,639.00 | $52,870,846.00 | $51,995,018.00 | $51,470,001.00 | $51,998,877.00 | $50,866,615.00 | $52,640,237.00 | $51,683,517.00 | $52,367,989.00 | $54,483,705.00 | $55,262,131.00 | $54,742,934.00 | $57,049,786.00 | $55,574,066.00 | $56,625,872.00 | -- | -- | $52,861,563.00 | -- | -- |
Long Term Debt | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Additional Paid-in Capital | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accumulated Other Comprehensive Loss | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accumulated Deficit | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Stockholders' Equity | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Controlling Interest in Subsidiaries | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Liabilities and Equity | $381,937.00 | $402,502.00 | $473,692.00 | $514,156.00 | $894,599.00 | $1,120,401.00 | $1,216,279.00 | $2,377,186.00 | $4,922,111.00 | $11,182,042.00 | $10,379,401.00 | $6,833,805.00 | $6,347,932.00 | $6,106,568.00 | $6,637,197.00 | $10,260,426.00 | $31,667,677.00 | $27,735,323.00 | $22,966,617.00 | $23,708,534.00 | $24,557,285.00 | $25,466,861.00 | $27,248,805.00 | $28,580,047.00 | $31,356,494.00 | $29,792,580.00 | $27,397,560.00 | $25,690,723.00 | $22,594,949.00 | $24,482,909.00 | $21,915,632.00 | $35,207,447.00 | $32,622,331.00 | $26,094,780.00 | $25,954,210.00 | $24,386,142.00 | $23,501,935.00 | $25,288,618.00 | $18,529,338.00 | $28,244,501.00 | $24,620,953.00 | $22,942,750.00 | $26,457,391.00 | $38,966,384.00 | $33,785,792.00 | $37,812,579.00 | $36,834,076.00 | $57,417,223.00 | -- | -- | $60,566,500.00 | -- | -- |
Date | 12/31/2023 | 9/30/2023 | 6/30/2023 | 3/31/2023 | 12/31/2022 | 9/30/2022 | 6/30/2022 | 3/31/2022 | 12/31/2021 | 9/30/2021 | 6/30/2021 | 12/31/2020 | 9/30/2020 | 6/30/2020 | 3/31/2020 | 12/31/2019 | 9/30/2019 | 6/30/2019 | 3/31/2019 | 12/31/2018 | 9/30/2018 | 6/30/2018 | 3/31/2018 | 12/31/2017 | 9/30/2017 | 6/30/2017 | 3/31/2017 | 12/31/2016 | 9/30/2016 | 6/30/2016 | 3/31/2016 | 12/31/2015 | 9/30/2015 | 6/30/2015 | 3/31/2015 | 12/31/2014 | 9/30/2014 | 6/30/2014 | 3/31/2014 | 12/31/2013 | 9/30/2013 | 6/30/2013 | 3/31/2013 | 12/31/2012 | 9/30/2012 | 6/30/2012 | 3/31/2012 | 12/31/2011 | 9/30/2011 | 6/30/2011 | 3/31/2011 | 12/31/2010 | 3/31/2010 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Total Revenues | $41,803.00 | $2,141.00 | $53,110.00 | $171,688.00 | $168,602.00 | $1,719.00 | $142,892.00 | $158,181.00 | $101,873.00 | $70,707.00 | $12,478.00 | $141,983.00 | $125,903.00 | $53,861.00 | $572,031.00 | $473,825.00 | $192,643.00 | $177,405.00 | $938,127.00 | $95,793.00 | $127,769.00 | $237,345.00 | $466,748.00 | $335,102.00 | $229,477.00 | $101,647.00 | $370,736.00 | $39,386.00 | $78,672.00 | $140,986.00 | $1,140,653.00 | $606,802.00 | $125,873.00 | $226,157.00 | $674,936.00 | $572,257.00 | $503,216.00 | $420,576.00 | $971,480.00 | $671,582.00 | $580,696.00 | $453,128.00 | $906,368.00 | $761,182.00 | $182,013.00 | $433,031.00 | $505,775.00 | $191,458.00 | $77,911.00 | $178,923.00 | $745,507.00 | $668,140.00 | -- |
Cost of Revenues | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Gross Profit | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Research and Development | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Selling, General, and Administrative | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | $507,411.00 | $172,887.00 | -- | -- | $576,759.00 | $207,011.00 | -- |
Total Operating Expenses | $59,257.00 | $208,949.00 | $110,995.00 | $413,165.00 | $371,226.00 | $131,052.00 | $129,834.00 | $1,163,927.00 | $444,400.00 | $475,629.00 | $175,977.00 | $1,061,039.00 | $414,993.00 | $332,255.00 | $2,275,133.00 | $1,939,476.00 | $778,076.00 | $361,722.00 | $2,662,477.00 | $749,738.00 | $628,963.00 | $864,130.00 | $3,254,856.00 | $742,276.00 | $1,878,725.00 | $756,763.00 | $4,074,090.00 | $3,077,250.00 | $1,243,804.00 | $893,784.00 | $5,588,101.00 | $903,699.00 | $2,444,341.00 | $1,063,615.00 | $7,091,934.00 | $3,831,649.00 | $1,695,119.00 | $1,163,109.00 | -- | $1,498,989.00 | $1,525,747.00 | $1,409,673.00 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Loss from Operations | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Loss Before Income Taxes | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Earnings Per Share Basic | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Weighted Average Shares Basic | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Earnings Per Share Diluted | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Weighted Average Shares Diluted | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Common Stock Shares Authorized | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Common Stock Shares Outstanding | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Common Stock Value | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Common Stock Par Or Stated Value Per Share | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Payments Of Dividends Common Stock | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Shares Authorized | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Shares Outstanding | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Value | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Par Or Stated Value Per Share | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Share Price | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |