Voting Rights Announcements | 17 August 2015 16:07


HeidelbergCement AG: Release according to Article 26, Section 1 of the WpHG [the German Securities Trading Act] with the objective of Europe-wide distribution

HeidelbergCement AG 

17.08.2015 16:07

Dissemination of a Voting Rights Announcement, transmitted by
DGAP - a service of EQS Group AG.
The issuer is solely responsible for the content of this announcement.
---------------------------------------------------------------------------


Notification of voting rights pursuant to sec. 25a par. 1 WpHG
We received the following notification pursuant to sec. 25a par. 1 WpHG on
August 14, 2015:


1. Listed Company:
HeidelbergCement AG
Berliner Straße 6, 69120 Heidelberg, Germany

2. Notifier:
Société Générale S.A., Paris, France

3. Triggering event:
exceeding threshold

4. Threshold(s) crossed or reached:
5%

5. Date at which the threshold is crossed or reached:
12.08.2015

6. Total amount of voting rights:
5,14% (equals 9660468 voting rights)
calculated from the following total number of voting rights issued:
187916477

7. Detailed information on the voting rights proportion:

Voting rights proportion based on financial/other instruments pursuant to
sec. 25a WpHG:
5,07% (equals 9529708 voting rights)

thereof held indirectly::
3,72% (equals 6988400 voting rights)

Voting rights proportion based on financial/other instruments pursuant to
sec. 25 WpHG:
0,07% (equals 130760 voting rights)

thereof held indirectly:
0,04% (equals 80000 voting rights)

Voting rights pursuant to sec. 21, 22 WpHG:
0% (equals 0 voting rights)

8. Detailed information on financial/other instruments pursuant to sec. 25a
WpHG:

Chain of controlled undertakings:

Société Générale Effekten GmbH

Financial Instrument Warrant ISIN code Maturity date

Certificate         DE000SG8LDV1         18.09.2015
Certificate         DE000SG8LDW9         18.09.2015
Certificate         DE000SG8LDX7         18.09.2015
Certificate         DE000SG8LDY5         18.09.2015
Certificate         DE000SG8LDZ2         18.09.2015
Certificate         DE000SG8EHT1         18.12.2015
Certificate         DE000SG8EHU9         18.12.2015
Certificate         DE000SG8EHV7         18.12.2015
Certificate         DE000SG8EHW5         18.12.2015
Certificate         DE000SG8EHX3         18.12.2015
Certificate         DE000SG8EHY1         18.12.2015
Certificate         DE000SG8LD08         18.12.2015
Certificate         DE000SG8LD16         18.12.2015
Certificate         DE000SG8LD24         18.12.2015
Certificate         DE000SG8LD32         18.12.2015
Certificate         DE000SG8LD40         18.12.2015
Certificate         DE000SG7DDA4         29.12.2015
Certificate         DE000SG7DDB2         29.12.2015
Certificate         DE000SG8EH11         18.03.2016
Certificate         DE000SG8EH29         18.03.2016
Certificate         DE000SG8EH37         18.03.2016
Certificate         DE000SG8EH45         18.03.2016
Certificate         DE000SG8EH52         18.03.2016
Certificate         DE000SG8LD57         18.03.2016
Certificate         DE000SG8LD65         18.03.2016
Certificate         DE000SG8LD73         18.03.2016
Certificate         DE000SG8LD81         18.03.2016
Certificate         DE000SG8LD99         18.03.2016
Certificate         DE000SG8SEC4         18.03.2016
Certificate         DE000SG8SED2         18.03.2016
Certificate         DE000SG99R39         18.03.2016
Certificate         DE000SG99R47         18.03.2016
Certificate         DE000SG99R54         18.03.2016
Certificate         DE000SG99R62         18.03.2016
Certificate         DE000SG8EH94         17.06.2016
Certificate         DE000SG8EJA7         17.06.2016
Certificate         DE000SG8EJB5         17.06.2016
Certificate         DE000SG8EJC3         17.06.2016
Certificate         DE000SG8EJD1         17.06.2016
Certificate         DE000SG8EJE9         17.06.2016
Certificate         DE000SG8LEA3         17.06.2016
Certificate         DE000SG8LEB1         17.06.2016
Certificate         DE000SG8LEC9         17.06.2016
Certificate         DE000SG8LED7         17.06.2016
Certificate         DE000SG8LEE5         17.06.2016
Certificate         DE000SG8SEG5         17.06.2016
Certificate         DE000SG8SEH3         17.06.2016
Certificate         DE000SG99R88         17.06.2016
Certificate         DE000SG99R96         17.06.2016
Certificate         DE000SG99SA8         17.06.2016
Certificate         DE000SG99SB6         17.06.2016
Certificate         DE000SG99SC4         17.06.2016
Certificate         DE000SG99SD2         17.06.2016
Certificate         DE000SG99SE0         17.06.2016
Certificate         DE000SG7DDC0         24.06.2016
Certificate         DE000SG7DDD8         24.06.2016
Certificate         DE000SG8EJH2         16.09.2016
Certificate         DE000SG8EJJ8         16.09.2016
Certificate         DE000SG8EJK6         16.09.2016
Certificate         DE000SG8EJL4         16.09.2016
Certificate         DE000SG8EJM2         16.09.2016
Certificate         DE000SG8EJN0         16.09.2016
Certificate         DE000SG8EJP5         16.09.2016
Certificate         DE000SG8SEP6         16.09.2016
Certificate         DE000SG99SH3         16.09.2016
Certificate         DE000SG99SJ9         16.09.2016
Certificate         DE000SG99SK7         16.09.2016
Certificate         DE000SG99SL5         16.09.2016
Certificate         DE000SG99SM3         16.09.2016
Certificate         DE000SG8EJ01         16.12.2016
Certificate         DE000SG8EJ19         16.12.2016
Certificate         DE000SG8EJR1         16.12.2016
Certificate         DE000SG8EJS9         16.12.2016
Certificate         DE000SG8EJT7         16.12.2016
Certificate         DE000SG8EJU5         16.12.2016
Certificate         DE000SG8EJV3         16.12.2016
Certificate         DE000SG8EJW1         16.12.2016
Certificate         DE000SG8EJX9         16.12.2016
Certificate         DE000SG8EJY7         16.12.2016
Certificate         DE000SG8EJZ4         16.12.2016
Certificate         DE000SG8SEU6         16.12.2016
Certificate         DE000SG8SEV4         16.12.2016
Certificate         DE000SG99SP6         16.12.2016
Certificate         DE000SG99SQ4         16.12.2016
Certificate         DE000SG99SR2         16.12.2016
Certificate         DE000SG99SS0         16.12.2016
Certificate         DE000SG99ST8         16.12.2016
Certificate         DE000SG99SU6         16.12.2016
Certificate         DE000SG7DDE6         23.12.2016
Certificate         DE000SG7DDF3         23.12.2016
OTC call-option                                 18.09.2015
OTC call-option                                 18.12.2015
OTC call-option                                 18.03.2016
OTC call-option                                 17.06.2016
OTC call-option                                 16.09.2016
OTC call-option                                 16.12.2016
OTC call-option                                 15.12.2017
OTC call-option                                 03.01.2025
OTC call-option                                 06.01.2025
Listed call warrant DE000SG6LF16         18.09.2015
Listed call warrant DE000SG6LF24         18.09.2015
Listed call warrant DE000SG6LF32         18.09.2015
Listed call warrant DE000SG6LF40         18.09.2015
Listed call warrant DE000SG6LF57         18.09.2015
Listed call warrant DE000SG7KFS6         18.09.2015
Listed call warrant DE000SG7KFT4         18.09.2015
Listed call warrant DE000SG7KFU2         18.09.2015
Listed call warrant DE000SG9UB57         18.09.2015
Listed call warrant DE000SG9UB65         18.09.2015
Listed call warrant DE000SG12GW0         18.12.2015
Listed call warrant DE000SG12GX8         18.12.2015
Listed call warrant DE000SG2HPN3         18.12.2015
Listed call warrant DE000SG2HPP8         18.12.2015
Listed call warrant DE000SG3UFP0         18.12.2015
Listed call warrant DE000SG3UFQ8         18.12.2015
Listed call warrant DE000SG3UFR6         18.12.2015
Listed call warrant DE000SG6LF65         18.12.2015
Listed call warrant DE000SG6LF73         18.12.2015
Listed call warrant DE000SG6LF81         18.12.2015
Listed call warrant DE000SG7KFV0         18.12.2015
Listed call warrant DE000SG7KFW8         18.12.2015
Listed call warrant DE000SG9UB81         18.12.2015
Listed call warrant DE000SG7RD03         18.03.2016
Listed call warrant DE000SG7RD11         18.03.2016
Listed call warrant DE000SG7RD29         18.03.2016
Listed call warrant DE000SG7RDV0         18.03.2016
Listed call warrant DE000SG7RDW8         18.03.2016
Listed call warrant DE000SG7RDX6         18.03.2016
Listed call warrant DE000SG7RDY4         18.03.2016
Listed call warrant DE000SG7RDZ1         18.03.2016
Listed call warrant DE000SG9UB99         18.03.2016
Listed call warrant DE000SG9UCA6         18.03.2016
Listed call warrant DE000SG7RD37         17.06.2016
Listed call warrant DE000SG7RD45         17.06.2016
Listed call warrant DE000SG7RD52         17.06.2016
Listed call warrant DE000SG7RD60         17.06.2016
Listed call warrant DE000SG7RD78         17.06.2016
Listed call warrant DE000SG7RD86         17.06.2016
Listed call warrant DE000SG7RD94         17.06.2016
Listed call warrant DE000SG7REA2         17.06.2016
Listed call warrant DE000SG9UCB4         17.06.2016
Listed call warrant DE000SG9UCC2         17.06.2016
Listed call warrant DE000SG79Y00         16.09.2016
Listed call warrant DE000SG79Y18         16.09.2016
Listed call warrant DE000SG79Y26         16.09.2016
Listed call warrant DE000SG79Y34         16.09.2016
Listed call warrant DE000SG79Y42         16.09.2016
Listed call warrant DE000SG79YT8         16.09.2016
Listed call warrant DE000SG79YU6         16.09.2016
Listed call warrant DE000SG79YV4         16.09.2016
Listed call warrant DE000SG79YW2         16.09.2016
Listed call warrant DE000SG79YX0         16.09.2016
Listed call warrant DE000SG79YY8         16.09.2016
Listed call warrant DE000SG79YZ5         16.09.2016
Listed call warrant DE000SG3UFS4         16.12.2016
Listed call warrant DE000SG3UFT2         16.12.2016
Listed call warrant DE000SG3UFU0         16.12.2016
Listed call warrant DE000SG9UCD0         16.12.2016
Listed call warrant DE000SG9UCE8         16.12.2016
Listed call warrant DE000SG3UFV8         15.12.2017
Listed call warrant DE000SG3UFW6         15.12.2017
Listed call warrant DE000SG3UFX4         15.12.2017
Listed call warrant DE000SE0EH55         03.01.2025
Listed call warrant DE000SE0G4Z1         03.01.2025
Listed call warrant DE000SE0GS01         03.01.2025
Listed call warrant DE000SE0GS19         03.01.2025
Listed call warrant DE000SE0GS27         03.01.2025
Listed call warrant DE000SE0GS35         03.01.2025
Listed call warrant DE000SE0GS43         03.01.2025
Listed call warrant DE000SE0GS50         03.01.2025
Listed call warrant DE000SE0GS68         03.01.2025
Listed call warrant DE000SE0GSY2         03.01.2025
Listed call warrant DE000SE0GSZ9         03.01.2025
Listed call warrant DE000SE0KNC1         03.01.2025
Listed call warrant DE000SG3J1M4         03.01.2025
Listed call warrant DE000SG3QXW7         03.01.2025
Listed call warrant DE000SG3XAT7         03.01.2025
Listed call warrant DE000SG6BH73         03.01.2025
Listed call warrant DE000SG6F4S6         03.01.2025
Listed call warrant DE000SG6HVM4         03.01.2025
Listed call warrant DE000SG7AKF4         03.01.2025
Listed call warrant DE000SG7E0R6         03.01.2025
Listed call warrant DE000SG7L9V0         03.01.2025
Listed call warrant DE000SG8V135         03.01.2025
Listed call warrant DE000SG3AVK0         06.01.2025
Listed put warrant DE000SG822L7         21.08.2015
Listed put warrant DE000SG822M5         21.08.2015
Listed put warrant DE000SG822N3         21.08.2015
Listed put warrant DE000SG822P8         21.08.2015
Listed put warrant DE000SG822Q6         21.08.2015
Listed put warrant DE000SG822R4         21.08.2015
Listed put warrant DE000SG87G02         21.08.2015
Listed put warrant DE000SG87G10         21.08.2015
Listed put warrant DE000SG87G28         21.08.2015
Listed put warrant DE000SG87G36         21.08.2015
Listed put warrant DE000SG87G44         21.08.2015
Listed put warrant DE000SG87GF7         21.08.2015
Listed put warrant DE000SG87GG5         21.08.2015
Listed put warrant DE000SG87GH3         21.08.2015
Listed put warrant DE000SG87GJ9         21.08.2015
Listed put warrant DE000SG87GK7         21.08.2015
Listed put warrant DE000SG87GL5         21.08.2015
Listed put warrant DE000SG87GM3         21.08.2015
Listed put warrant DE000SG87GN1         21.08.2015
Listed put warrant DE000SG87GP6         21.08.2015
Listed put warrant DE000SG87GQ4         21.08.2015
Listed put warrant DE000SG87GR2         21.08.2015
Listed put warrant DE000SG87GS0         21.08.2015
Listed put warrant DE000SG87GT8         21.08.2015
Listed put warrant DE000SG87GU6         21.08.2015
Listed put warrant DE000SG87GV4         21.08.2015
Listed put warrant DE000SG87GW2         21.08.2015
Listed put warrant DE000SG87GX0         21.08.2015
Listed put warrant DE000SG87GY8         21.08.2015
Listed put warrant DE000SG87GZ5         21.08.2015
Listed put warrant DE000SG8XKQ1         21.08.2015
Listed put warrant DE000SG8XKR9         21.08.2015
Listed put warrant DE000SG8XKS7         21.08.2015
Listed put warrant DE000SG8XKT5         21.08.2015
Listed put warrant DE000SG8XKU3         21.08.2015
Listed put warrant DE000SG8XKV1         21.08.2015
Listed put warrant DE000SG8XKW9         21.08.2015
Listed put warrant DE000SG8XKX7         21.08.2015
Listed put warrant DE000SG8XKY5         21.08.2015
Listed put warrant DE000SG94ZJ5         21.08.2015
Listed put warrant DE000SG94ZK3         21.08.2015
Listed put warrant DE000SG94ZL1         21.08.2015
Listed put warrant DE000SG94ZM9         21.08.2015
Listed put warrant DE000SG94ZN7         21.08.2015
Listed put warrant DE000SG94ZP2         21.08.2015
Listed put warrant DE000SG94ZQ0         21.08.2015
Listed put warrant DE000SE0F905         18.09.2015
Listed put warrant DE000SE0F9Y4         18.09.2015
Listed put warrant DE000SE0F9Z1         18.09.2015
Listed put warrant DE000SE0GE15         18.09.2015
Listed put warrant DE000SE0GE23         18.09.2015
Listed put warrant DE000SG6MHQ4         18.09.2015
Listed put warrant DE000SG6MHR2         18.09.2015
Listed put warrant DE000SG6MHS0         18.09.2015
Listed put warrant DE000SG6MHT8         18.09.2015
Listed put warrant DE000SG6MHU6         18.09.2015
Listed put warrant DE000SG7KYB3         18.09.2015
Listed put warrant DE000SG7KYC1         18.09.2015
Listed put warrant DE000SG822U8         18.09.2015
Listed put warrant DE000SG822V6         18.09.2015
Listed put warrant DE000SG87H01         18.09.2015
Listed put warrant DE000SG87H19         18.09.2015
Listed put warrant DE000SG87H27         18.09.2015
Listed put warrant DE000SG87HQ2         18.09.2015
Listed put warrant DE000SG87HR0         18.09.2015
Listed put warrant DE000SG87HS8         18.09.2015
Listed put warrant DE000SG87HT6         18.09.2015
Listed put warrant DE000SG87HU4         18.09.2015
Listed put warrant DE000SG87HV2         18.09.2015
Listed put warrant DE000SG87HW0         18.09.2015
Listed put warrant DE000SG87HX8         18.09.2015
Listed put warrant DE000SG87HY6         18.09.2015
Listed put warrant DE000SG87HZ3         18.09.2015
Listed put warrant DE000SG8XLC9         18.09.2015
Listed put warrant DE000SG8XLD7         18.09.2015
Listed put warrant DE000SG8XLE5         18.09.2015
Listed put warrant DE000SG8XLF2         18.09.2015
Listed put warrant DE000SG8XLG0         18.09.2015
Listed put warrant DE000SG8XLH8         18.09.2015
Listed put warrant DE000SG8XLJ4         18.09.2015
Listed put warrant DE000SG8XLK2         18.09.2015
Listed put warrant DE000SG8ZRF4         18.09.2015
Listed put warrant DE000SG940A0         18.09.2015
Listed put warrant DE000SG940B8         18.09.2015
Listed put warrant DE000SG940C6         18.09.2015
Listed put warrant DE000SG940D4         18.09.2015
Listed put warrant DE000SG940E2         18.09.2015
Listed put warrant DE000SG940F9         18.09.2015
Listed put warrant DE000SG940G7         18.09.2015
Listed put warrant DE000SG940H5         18.09.2015
Listed put warrant DE000SG940J1         18.09.2015
Listed put warrant DE000SG940K9         18.09.2015
Listed put warrant DE000SG94Z00         18.09.2015
Listed put warrant DE000SG94Z18         18.09.2015
Listed put warrant DE000SG94Z26         18.09.2015
Listed put warrant DE000SG94Z34         18.09.2015
Listed put warrant DE000SG94Z42         18.09.2015
Listed put warrant DE000SG94Z59         18.09.2015
Listed put warrant DE000SG94Z67         18.09.2015
Listed put warrant DE000SG94Z75         18.09.2015
Listed put warrant DE000SG94Z83         18.09.2015
Listed put warrant DE000SG94Z91         18.09.2015
Listed put warrant DE000SG94ZT4         18.09.2015
Listed put warrant DE000SG94ZU2         18.09.2015
Listed put warrant DE000SG94ZV0         18.09.2015
Listed put warrant DE000SG94ZW8         18.09.2015
Listed put warrant DE000SG94ZX6         18.09.2015
Listed put warrant DE000SG94ZY4         18.09.2015
Listed put warrant DE000SG94ZZ1         18.09.2015
Listed put warrant DE000SG9UUQ4         18.09.2015
Listed put warrant DE000SG9UUR2         18.09.2015
Listed put warrant DE000SG9UUS0         18.09.2015
Listed put warrant DE000SE0F913         18.12.2015
Listed put warrant DE000SE0F921         18.12.2015
Listed put warrant DE000SE0F939         18.12.2015
Listed put warrant DE000SE0F947         18.12.2015
Listed put warrant DE000SE0F954         18.12.2015
Listed put warrant DE000SE0GE31         18.12.2015
Listed put warrant DE000SE0GE49         18.12.2015
Listed put warrant DE000SE0GE56         18.12.2015
Listed put warrant DE000SE0GE64         18.12.2015
Listed put warrant DE000SG6MH05         18.12.2015
Listed put warrant DE000SG6MH13         18.12.2015
Listed put warrant DE000SG6MHV4         18.12.2015
Listed put warrant DE000SG6MHW2         18.12.2015
Listed put warrant DE000SG6MHX0         18.12.2015
Listed put warrant DE000SG6MHY8         18.12.2015
Listed put warrant DE000SG6MHZ5         18.12.2015
Listed put warrant DE000SG7KYD9         18.12.2015
Listed put warrant DE000SG7KYE7         18.12.2015
Listed put warrant DE000SG822W4         18.12.2015
Listed put warrant DE000SG822X2         18.12.2015
Listed put warrant DE000SG822Y0         18.12.2015
Listed put warrant DE000SG8XL04         18.12.2015
Listed put warrant DE000SG8XL12         18.12.2015
Listed put warrant DE000SG8XL20         18.12.2015
Listed put warrant DE000SG8XL38         18.12.2015
Listed put warrant DE000SG8XL46         18.12.2015
Listed put warrant DE000SG8XL53         18.12.2015
Listed put warrant DE000SG8XL61         18.12.2015
Listed put warrant DE000SG8XL79         18.12.2015
Listed put warrant DE000SG8XLV9         18.12.2015
Listed put warrant DE000SG8XLW7         18.12.2015
Listed put warrant DE000SG8XLX5         18.12.2015
Listed put warrant DE000SG8XLY3         18.12.2015
Listed put warrant DE000SG8XLZ0         18.12.2015
Listed put warrant DE000SG94025         18.12.2015
Listed put warrant DE000SG9UUT8         18.12.2015
Listed put warrant DE000SG9UUU6         18.12.2015
Listed put warrant DE000SG9UUV4         18.12.2015
Listed put warrant DE000SE0F962         18.03.2016
Listed put warrant DE000SE0F970         18.03.2016
Listed put warrant DE000SE0F988         18.03.2016
Listed put warrant DE000SE0F996         18.03.2016
Listed put warrant DE000SE0GE72         18.03.2016
Listed put warrant DE000SE0GE80         18.03.2016
Listed put warrant DE000SE0GE98         18.03.2016
Listed put warrant DE000SE0GFA9         18.03.2016
Listed put warrant DE000SE0GFB7         18.03.2016
Listed put warrant DE000SG7R1F4         18.03.2016
Listed put warrant DE000SG7R1G2         18.03.2016
Listed put warrant DE000SG7R1H0         18.03.2016
Listed put warrant DE000SG7R1J6         18.03.2016
Listed put warrant DE000SG7R1K4         18.03.2016
Listed put warrant DE000SG7R1L2         18.03.2016
Listed put warrant DE000SG7R1M0         18.03.2016
Listed put warrant DE000SG7R1N8         18.03.2016
Listed put warrant DE000SG9UUW2         18.03.2016
Listed put warrant DE000SG9UUX0         18.03.2016
Listed put warrant DE000SE0GAA0         17.06.2016
Listed put warrant DE000SE0GAB8         17.06.2016
Listed put warrant DE000SE0GAC6         17.06.2016
Listed put warrant DE000SE0GAD4         17.06.2016
Listed put warrant DE000SE0GFC5         17.06.2016
Listed put warrant DE000SE0GFD3         17.06.2016
Listed put warrant DE000SE0GFE1         17.06.2016
Listed put warrant DE000SE0GFF8         17.06.2016
Listed put warrant DE000SG7R1P3         17.06.2016
Listed put warrant DE000SG7R1Q1         17.06.2016
Listed put warrant DE000SG7R1R9         17.06.2016
Listed put warrant DE000SG7R1S7         17.06.2016
Listed put warrant DE000SG7R1T5         17.06.2016
Listed put warrant DE000SG7R1U3         17.06.2016
Listed put warrant DE000SG7R1V1         17.06.2016
Listed put warrant DE000SG7R1W9         17.06.2016
Listed put warrant DE000SG9UUY8         17.06.2016
Listed put warrant DE000SG9UUZ5         17.06.2016
Listed put warrant DE000SE0GS92         03.01.2025
Listed put warrant DE000SE0GTA0         03.01.2025
Listed put warrant DE000SE0GTB8         03.01.2025
Listed put warrant DE000SE0GTC6         03.01.2025
Listed put warrant DE000SE0GTD4         03.01.2025
Listed put warrant DE000SE0GTE2         03.01.2025
Listed put warrant DE000SE0GTF9         03.01.2025
Listed put warrant DE000SE0GTG7         03.01.2025
Listed put warrant DE000SE0GTH5         03.01.2025
Listed put warrant DE000SE0KM92         03.01.2025
Listed put warrant DE000SE0KNA5         03.01.2025
Listed put warrant DE000SE0KNB3         03.01.2025
Listed put warrant DE000SE0KND9         03.01.2025
Listed put warrant DE000SG7E0S4         03.01.2025
Listed put warrant DE000SG7WAK9         03.01.2025
Listed put warrant DE000SG878W6         03.01.2025
Listed put warrant DE000SG8R158         03.01.2025
Listed put warrant DE000SG8TZD5         03.01.2025
Listed put warrant DE000SG8TZE3         03.01.2025
Listed put warrant DE000SG8VKU7         03.01.2025



17.08.2015 The DGAP Distribution Services include Regulatory Announcements,
Financial/Corporate News and Press Releases.
Media archive at www.dgap-medientreff.de and www.dgap.de

---------------------------------------------------------------------------
 
Language:     English
Company:      HeidelbergCement AG
              Berliner Straße 6
              69120 Heidelberg
              Germany
Internet:     www.heidelbergcement.com
 
End of Announcement                             DGAP News-Service
 
---------------------------------------------------------------------------