Date | 3/31/2024 | 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 | 3/31/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 | 12/31/2009 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cash and Cash Equivalents | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
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 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | $6,214,710,000.00 | $6,352,888,000.00 | $6,965,884,000.00 | $6,860,967,000.00 | $6,272,422,000.00 | $7,576,618,000.00 | $6,861,395,000.00 | $9,190,784,000.00 | $9,315,055,000.00 | $8,369,443,000.00 | $7,228,945,000.00 | $7,137,395,000.00 | $6,572,102,000.00 | -- | -- | -- | $3,568,036,000.00 | -- |
Accounts Payable | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accrued Liabilities | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | $1,323,000.00 | $1,349,000.00 | $1,377,000.00 | $1,510,000.00 | $1,393,000.00 | $1,589,000.00 | $1,645,000.00 | $2,314,000.00 | $2,485,000.00 | $2,229,000.00 | $1,887,000.00 | $2,079,000.00 | $1,938,000.00 | -- | -- | -- | $1,067,000.00 | -- |
Total Current Liabilities | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | $1,323,000.00 | $1,349,000.00 | $1,377,000.00 | $1,510,000.00 | $1,393,000.00 | $1,589,000.00 | $1,645,000.00 | $2,314,000.00 | $2,485,000.00 | $2,229,000.00 | $1,887,000.00 | $2,079,000.00 | $1,938,000.00 | -- | -- | -- | $1,067,000.00 | -- |
Long Term Debt | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Additional Paid-in Capital | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accumulated Other Comprehensive Loss | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accumulated Deficit | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Stockholders' Equity | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | $5,209,803,000.00 | -- | -- | -- | $6,213,387,000.00 | $6,351,539,000.00 | $6,964,507,000.00 | $6,859,457,000.00 | -- | $-2,332,728,000.00 | -- | -- | $-2,332,728,000.00 | -- | -- | -- | $-1,846,637,000.00 | -- | -- | -- | -- | -- |
Controlling Interest in Subsidiaries | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Liabilities and Equity | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | $5,210,940,000.00 | -- | -- | -- | $6,214,710,000.00 | $6,352,888,000.00 | $6,965,884,000.00 | $6,860,967,000.00 | $6,272,422,000.00 | $7,576,618,000.00 | $6,861,395,000.00 | $9,190,784,000.00 | $9,315,055,000.00 | $8,369,443,000.00 | $7,228,945,000.00 | $7,137,395,000.00 | $6,572,102,000.00 | -- | -- | -- | $3,568,036,000.00 | -- |
Date | 3/31/2024 | 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 | 3/31/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 | 12/31/2009 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Total Revenues | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | $-606,324,000.00 | $772,113,000.00 | $-839,741,000.00 | -- | $161,694,000.00 | $145,592,000.00 | -- | -- | $277,476,000.00 | -- | -- | -- | -- | -- |
Cost of Revenues | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Gross Profit | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Research and Development | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Selling, General, and Administrative | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Operating Expenses | $16,206,829.00 | $67,766,849.00 | $51,699,084.00 | $34,626,154.00 | $16,705,307.00 | $71,451,301.00 | $17,481,962.00 | $19,449,872.00 | $18,507,011.00 | $72,773,331.00 | $54,767,768.00 | $36,708,511.00 | $18,536,656.00 | $65,443,749.00 | $19,078,049.00 | $26,450,615.00 | $11,818,169.00 | $35,318,380.00 | $24,627,987.00 | $7,621,405.00 | $7,619,352.00 | $27,533,111.00 | $6,488,704.00 | $7,411,485.00 | $6,856,858.00 | $21,630,631.00 | $15,513,955.00 | $5,140,279.00 | $4,799,173.00 | $20,312,154.00 | $5,954,000.00 | $9,075,000.00 | $4,183,000.00 | $15,246,000.00 | $11,678,000.00 | $7,964,000.00 | $3,992,000.00 | $16,628,000.00 | $12,708,000.00 | $4,231,000.00 | $4,184,000.00 | $21,742,000.00 | $4,790,000.00 | $900,154,000.00 | $7,018,000.00 | $25,362,000.00 | $18,024,000.00 | $11,773,000.00 | $5,992,000.00 | $18,629,000.00 | $5,539,000.00 | $7,349,000.00 | $3,234,000.00 | $11,112,000.00 | $9,097,000.00 |
Loss from Operations | $-16,206,829.00 | $-67,766,849.00 | $-17,072,930.00 | $-34,626,154.00 | $-16,705,307.00 | $-71,451,301.00 | $-55,438,845.00 | $-37,956,883.00 | $-18,507,011.00 | $-72,773,331.00 | $-18,059,257.00 | $-18,171,855.00 | $-18,536,656.00 | $-65,443,749.00 | $-19,078,049.00 | $-14,632,446.00 | $-11,818,169.00 | $-35,318,380.00 | $-24,627,987.00 | $-7,621,405.00 | $-7,619,352.00 | $-27,533,111.00 | $-6,488,704.00 | $-7,411,485.00 | $-6,856,858.00 | $-21,630,631.00 | $-15,513,955.00 | $-9,939,452.00 | $-4,799,173.00 | $-20,312,154.00 | $-15,029,000.00 | $-4,892,000.00 | $-4,183,000.00 | $-15,246,000.00 | $-11,678,000.00 | $-7,964,000.00 | $-3,992,000.00 | $-16,628,000.00 | $-4,293,000.00 | $-8,415,000.00 | $-4,184,000.00 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Loss Before Income Taxes | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Earnings Per Share Basic | $2.81 | $4.42 | $1.04 | $-1.32 | $3.11 | $-0.65 | $-2.99 | $-2.41 | $2.28 | $-1.65 | $-3.05 | $-2.63 | $-1.93 | $3.12 | $3.27 | $1.47 | $0.77 | $2.15 | $1.84 | $1.16 | $0.11 | $-0.22 | $-0.61 | $-0.71 | $0.23 | $1.23 | $0.37 | $-0.04 | $0.82 | $0.46 | $2.18 | $2.33 | $1.59 | $-1.40 | $-0.89 | $-0.31 | $-0.15 | $-0.08 | $0.10 | $1.07 | $0.85 | $-1.00 | $1.30 | $-1.03 | $0.20 | $0.22 | $0.06 | $0.12 | $0.03 | $0.54 | $0.22 | $0.06 | $0.25 | $0.11 | -- |
Weighted Average Shares Basic | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | 660,310,949 | 650,145,604 | 591,374,725 | 543,391,507 | 547,987,363 | 552,975,275 | 549,776,667 | 542,329,726 | 548,120,652 | 543,390,110 | 542,006,667 | 627,129,863 | 648,052,564 | 677,371,547 | 717,346,111 | 624,899,044 | 619,476,630 | 589,759,890 | 587,501,648 | 481,399,041 | 529,401,087 | 450,335,714 | 387,597,778 | 295,602,603 | -- |
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 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |