Central Information Commission
K V Subrahmanyam vs Rail Vikas Nigam Ltd. on 15 May, 2025
केन्द्रीय सूचना आयोग
Central Information Commission
बाबा गंगनाथ मागग, मुननरका
Baba Gangnath Marg, Munirka
नई निल्ली, New Delhi - 110067
File No: CIC/RVNLT/A/2024/101278
K V Subrahmanyam .....अपीलकर्ाग /Appellant
VERSUS
बनाम
CPIO,
Rail Vikas Nigam Ltd, Office
of the Divisional Railway
Manager, South Central
Railway, Guntur Division,
Commercial Branch, 2nd
Floor, Rail Vikas Bhawan,
Guntur - 522006 ....प्रनर्वािीगण /Respondent
Date of Hearing : 13.05.2025
Date of Decision : 14.05.2025
INFORMATION COMMISSIONER : Vinod Kumar Tiwari
Relevant facts emerging from appeal:
RTI application filed on : 12.07.2023
CPIO replied on : Not on record
First appeal filed on : 02.09.2023
First Appellate Authority's order : 10.10.2023
2nd Appeal/Complaint dated : 06.01.2024
Page 1 of 15
Information sought:
1. The Appellant filed an RTI application dated 12.07.2023 (offline) seeking the following information:
"I request that the following information and copy of the documents certifying each page U/section 2 (j) (ii) of RTI Act 2005 may be supplied to the address given below. I am ready to pay the required fee as per the provisions of the Act. The details and mode of payment may be informed.
Month wise earnings at Mangalagiri, Nambur, Nallapadu, Perecherla, Phirangipuram, Nudurupadu, Santamaguluru, Savalyapuam, Kurichedu, Donakonda, Gajjalakonda, Tarlupadu, Jaggambhotlakrishnapuam, Somidevipalle, Gazulapalli, Panyam, Krisnammakona, Bugganipalli Cement Nagar, Rangapuram and Malkapuram Railway stations may be furnished for the financial years 2017-2018 to 2022-2023. It is requested to supply information duly certifying each page U/section 2 (j) (ii) of RTI Act 2005.
Vide reference 1st cited it was informed that "Competent authority has served notice in response to slow progress and the Agency M/s VBRL Infra Projects Limited, Bangalore has started balance works at RUB location ie, at LC No.241 near Gajjalakonda station". The RUB mentioned in my application is on the western side of Gajjalakonda station at manned level crossing prior to doubling, Bridge No.400,K.Μ.Νο.131/3 to 131/4. It may be informed when the RUB works will be completed in full, such as keeping signboard showing directions, lighting arrangement near the bridge, approach road, automatic drain of water with out stagnation resulting in mud formation giving troble in traffic movement especially in rainy season etc,.
Information regarding unmanned level crossings for the locations mentioned below may be supplied duly certifying each page U/section 2
(j) (ii) of RTI Act 2005.
a. Number of unmanned level crossings existed between Gajjalakonda and Donakonda prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing.
b. Number of unmanned level crossings existed between Gajjalakonda and Markapur prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing.
Page 2 of 15c. Number of unmanned level crossings existed between Markapur and Nandyal prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing.
d. Number of unmanned level crossings existed between Donakonda and Guntur prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing.
e. Number of unmanned level crossings which are being converted into RUBs during the process of doubling that existed between Gajjalakonda and Donakonda prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing. If not converted, reasons for non conversion and alternate arrangements made to meet the purpose for which level crossing was kept prior to doubling work.
f. Number of unmanned level crossings which are being converted into RUBs during the process of doubling that existed between Gajjalakonda and Markapur prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing. If not converted, reasons for non conversion and alternate arrangements made to meet the purpose for which level crossing was kept prior to doubling work.
g. Number of unmanned level crossings which are being converted Into RUBs during the process of doubling that existed between Markapur and Nandyal prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing.If not converted, reasons for non conversion and alternate arrangements made to meet the purpose for which level crossing was kept prior to doubling work.
h. Number of unmanned level crossings which are being converted into RUBs during the process of doubling that existed between Donakonda and Nandyal prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing. If not converted, reasons for non conversion and alternate arrangements made to meet the purpose for which level crossing was kept prior to doubling work.
4. Information regarding manned level crossings for the locations mentioned below may be supplie duly certifying each page U/section 2 (j)
(ii) of RTI Act 2005.
Page 3 of 15a. Number of manned level crossings existed between Gajjalakonda and Donakonda prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing. b. Number of manned level crossings existed between Gajjalakonda and Markapur prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing.
c. Number of manned level crossings existed between Markapur and Nandyal prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing.
d. Number of manned level crossings existed between Donakonda and Guntur prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing.
e. Number of manned level crossings which are being converted into RUBs during the process of doubling that existed between Gajjalakonda and Donakonda prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing. If not converted, reasons for non conversion and alternate arrangements made to meet the purpose for which level crossing was kept prior to doubling work.
f. Number of manned level crossings which are being converted into RUBs during the process of doubling that existed between Gajjalakonda and Markapur prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing. If not converted, reasons for non conversion and alternate arrangements made to meet the purpose for which level crossing was kept prior to doubling work.
g. Number of manned level crossings which are being converted into RUBs during the process of doubling that existed between Markapur and Nandyal prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing. If not converted, reasons for non conversion and alternate arrangements made to meet the purpose for which level crossing was kept prior to doubling work.
h. Number of manned level crossings which are being converted into RUBs during the process of doubling that existed between Donakonda and Nandyal prior to doubling work with details kilometer No., level crossing No., and purpose of level crossing. If not converted, reasons for non conversion and alternate arrangements made to meet the purpose for which level crossing was kept prior to doubling work.
Page 4 of 155. A representaion was submitted to Divisional Railway Manager, S.C.Railway, Guntur on 10.03.2023 during his visit to Markapur Railway station by the villagers of Gajjalakonda and surrounding villages requesting stoppage of Trains at Gajjalakonda Railway station. The action taken on the representaion may be informed.
6. Vide reference 2nd cited it was informed that Conversion of Passenger trains into express trains is in the level of Hqrs.It may be informed whether any action was taken to bring the facts to the notice of Hors such as the necessity of stoppage of trains at Gajjalakonda,problems faced by public due to non stoppage of trains, conversion of short distance trains also in to express trains, earnings at Gajjalakonda station when compared to stations with less earnings but stoppage provided at these stations such as Nudurupadu, Santamaguluru, Savalyapuam, Jaggambhotlakrishnapuam and Somidevipalle. If so a copy of the letter addressed to Hqrs.may be supplied.
7. It may be informed the list of Stations selected under Amrit Bharat Station Redevelopment Scheme in Guntur Railway Division.
8. It may be informed Station wise funds allotted, item of works proposed to be taken up station wise, proposed period of completion of all woks station wise and present stage of works station wise for the Stations selected under Amrit Bharat Station Redevelopment Scheme in Guntur Railway Division.
9.It may be informed whether display boards will be kept at all stations where required showing coach position on platform as well as in station premises, train wise platform allotment, arrival and delay if any of the trains and announcement of arrival of trains with full details. If not all, list of stations where these facilities will be provided may be informed."
2. Not having received any response from the CPIO, the Appellant filed a First Appeal dated 02.09.2023. The FAA vide its order dated 10.10.2023, held as under:
"1. As per section 2 (f) of RTI Act 2005, "information" means any material in any form including records, documents, memos, e-mails, opinions, advices, press releases, circulars, orders, logbooks, contracts, reports, papers, samples, models, data material held in any electronic form.Page 5 of 15
As per the Act, if the information sought in form of photocopy, it shall be provided in the form of photocopy, or if it is sought in the form of floppy, it shall be provided in the form subject to the conditions given in the Act. It does not mean that the PIO shall re-shape the information. The Act, however, does not require the Public Information Officer to deduce some conclusion from the 'material' and supply the 'conclusion' so deduced to the applicant. It means that the Public Information officer is required to supply the 'material' in the form as held by the Public Authority, but not to do research on behalf of the citizen to deduce anything from the material and then supply it to him.
2. Work is in progress. Work will be completed in all aspects by December 2023.
3(a)
S. LC No. location Between Manned/ Purpose of LC
No. stations Unmanned
1 244 124/2-3 DKD-GJJ M To cross railway
track
2 243 127/5-6 DKD-GJJ M To cross railway
track
3 242 129/1-2 DKD-GJJ M To cross railway
track
3(b)
S. LC No. location Between Manned/ Purpose of LC
No. stations Unmanned
1 240 132/8-9 GJJ-MRK M To cross railway
track
2 239 138/1-2 GJJ-MRK M To cross railway
track
3 238 140/7-8 GJJ-MRK M To cross railway
track
3(c )
S. LC No. location Between Manned/ Purpose of LC
No. stations Unmanned
1 235 146/1-2 MRK-TLU UM To cross railway
track
2 234 148/0-1 MRK-TLU UM To cross railway
track
3 232 153/8-9 MRK-TLU UM To cross railway
track
4 225 164/2-3 TLU-CBM UM To cross railway
Page 6 of 15
track
5 224 165/5-6 TLU-CBM UM To cross railway
track
6 223 166/6-7 TLU-CBM UM To cross railway
track
7 218 175/5-6 CBM-SDV UM To cross railway
track
8 215 180/2-3 CBM-SDV UM To cross railway
track
9 208 200/1-2 SDV-GID UM To cross railway
track
10 207 201/18-9 SDV-GID UM To cross railway
track
11 202 208/2-3 GID-DMT UM To cross railway
track
12 198 212/3-4 GID-DMT UM To cross railway
track
13 191 244/4-5 GZL-NDL UM To cross railway
track
14 189 247/9/248/0 GZL-NDL UM To cross railway
track
15 188 250/6-7 GZL-NDL UM To cross railway
track
16 182 258/9-259/0 NDL-PNM UM To cross railway
track
17 178 261/5-6 NDL-PNM UM To cross railway
track
3(d)
S.No. LC No. Location Between Manned/Unmanned Purpose of LC
stations
1 308 8/14 - 9/0 NLPD-PPM UM To cross
railway track
2 303 15/11 - 12 NLPD-PPM UM To cross
railway track
3 301 17/4 - 5 NLPD-PPM UM To cross
railway track
4 300 18/9 - 10 NLPD-PPM UM To cross
railway track
5 299 20/1 - 2 NLPD-PPM UM To cross
railway track
6 293 32/14-33/0 PPM-STUR UM To cross
railway track
7 281 48/6 - 7 MUK-NRT UM To cross
railway track
Page 7 of 15
8 280 50/1 - 2 NRT-SAB UM To cross
railway track
9 278 54/4 - 5 SAB-MUK UM To cross
railway track
10 277 56/0 - 1 SAB-MUK UM To cross
railway track
11 276 57/4 - 5 SAB-MUK UM To cross
railway track
12 274 63/4-5 SAB-SYM UM To cross
railway track
13 270A 68/4 - 5 SAB-SYM UM To cross
railway track
14 270 68/6 - 7 SAB-SYM UM To cross
railway track
15 261 89/4 - 5 VKN-GKM UM To cross
railway track
16 255 99/5-6 GKM-KCD UM To cross
railway track
17 252 104/6-1 GKM-KCD UM To cross
railway track
18 250 109/5-6 KCD-DKD UM To cross
railway track
19 247 117/6-7 KCD-DKD UM To cross
railway track
3(e) Doubling work was taken up by Construction organization. During doubling, no unmanned LC gate was converted into RUB by Construction organization between Donakonda and Gajjelakonda stations. Reasons for non conversion of LCs into RUBs pertains to Construction Organization.
3(f) Doubling work was taken up by Construction organization. During doubling, no unmanned LC gate was converted into RUB by Construction organization between Gajjelakonda and Markapur road stations. Reasons for non conversion of LCs into RUBs pertains to Construction Organization.
3(g) Doubling work was taken up by Construction organization. During doubling, no unmanned LC gate was converted into RUB by Construction organization between Markapur road and Nandyal stations. Reasons for non conversion of LCs into RUBs pertains to Construction Organization.
3(h) Doubling work was taken up by Construction organization. During doubling, no unmanned LC gate was converted into RUB by Construction Page 8 of 15 organization between Guntur and Donakonda stations. Reasons for non conversion of LCs into RUBs pertains to Construction Organization.
4(a)
S.No. LC Location Between Purpose Manned/Unmanned Purpose of LC
No. stations of LC
1 245 120/9- DKD-GJJ To cross M To cross
121/0 railway railway track
track
4(b)
S.No. LC Location Between stations Manned/Unmanned Purpose of LC
No.
1 241 131/1-2 GJJ-MRK M To cross railway
track
2 237 142/6-7 GJJ-MRK M To cross railway
track
3 236 143/6-7 GJJ_MRK M To cross railway
track
4(c)
Sl.No. LC No. Location Between Manned/Unmanned Purpose of LC
stations
1 233 150/0 - 1 MRK-TLU M To cross
railway track
2 231 154/9 - MRK-TLU M To cross
155/0 railway track
3 230 155/7 - 8 MRK-TLU M To cross
railway track
4 229 158/5 - 6 TLU-CBM M To cross
railway track
5 228 164/2 - 3 TLU-CBM M To cross
railway track
6 227 167/5 - 6 TLU-CBM M To cross
railway track
7 226 169/5 - 6 TLU-CBM M To cross
railway track
8 222 171/2 - 3 TLU-CBM M To cross
railway track
9 221 173/7 - 8 TLU-CBM M To cross
railway track
10 220 178/4 - 5 CBM-SDV M To cross
railway track
11 219 185/6 - 7 CBM-SDV M To cross
Page 9 of 15
railway track
12 217 188/1 - 2 CBM-SDV M To cross
railway track
13 216 177/2 - 3 CBM-SDV M To cross
railway track
14 214 162/8 - 9 CBM-SDV M To cross
railway track
15 213 156/7 - 8 CBM-SDV M To cross
railway track
16 212 189/8 - 9 SDV-GID M To cross
railway track
17 211 192/5 - 6 SDV-GID M To cross
railway track
18 210 194/5 - 6 SDV-GID M To cross
railway track
19 209 197/1 - 2 SDV-GID M To cross
railway track
20 206 203/0 - 1 SDV-GID M To cross
railway track
21 205 203/2 - 3 SDV-GID M To cross
railway track
22 204 204/5 - 6 GID-DMT M To cross
railway track
23 203 207/0-1 GID-DMT M To cross
railway track
24 201 208/8 - 9 GID-DMT M To cross
railway track
25 199 211/2 - 3 GID-DMT M To cross
railway track
26 197 258/0 - 1 DMT YARD M To cross
railway track
27 192 260/6 - 7 CMZ-GZL M To cross
railway track
28 190 248/4 - 5 GZL-NDL M To cross
railway track
29 188A 252/4 - 5 GZL-NDL M To cross
railway track
30 187 215/2 - 3 GZL-NDL M To cross
railway track
31 186 253/1 - 8 GZL-NDL M To cross
railway track
32 184 242/0 - 1 NDL-PNM M To cross
railway track
33 183 245/0 - 1 NDL-PNM M To cross
railway track
Page 10 of 15
34 181 257/4 - 5 NDL-PNM M To cross
railway track
35 180 259/4 - 5 NDL-PNM M To cross
railway track
4(d)
Sl.No. LC No. Location Between Manned/ Purpose of LC
stations Unmanne
d
1 314 1/15 - 17 GNT-NLPD M To cross railway track
2 313 1/31 - 33 GNT-NLPD M To cross railway track
3 312 3/9 - 11 GNT-NLPD M To cross railway track
4 311/1 4/31-33 NLPD YARD M To cross railway track
5 310/2 6/3-4 NLPD-PPM M To cross railway track
6 309 7/6-7 NLPD-PPM M To cross railway track
7 307 10/3-4 NLPD-PPM M To cross railway track
8 305 11/10-11 NLPD-PPM M To cross railway track
9 304 13/0-1 NLPD-PPM M To cross railway track
10 302 17/0-1 NLPD-PPM M To cross railway track
11 298 20/5-6 NLPD-PPM M To cross railway track
12 297 22/11-12 PPM-STUR M To cross railway track
13 296A 24/11-12 PPM-STUR M To cross railway track
14 296 25/9-10 PPM-STUR M To cross railway track
15 294 30/7-8 PPM-STUR M To cross railway track
16 291 34/4-5 STUR-NRT M To cross railway track
17 290 36/0-1 STUR-NRT M To cross railway track
18 289 36/11-12 STUR-NRT M To cross railway track
19 288 37/4-5 STUR-NRT M To cross railway track
20 287 40/7-8 STUR-NRT M To cross railway track
21 286 43/1-2 STUR-NRT M To cross railway track
22 284 44/7-8 STUR-NRT M To cross railway track
23 283 44/13-14 STUR-NRT M To cross railway track
24 282 46/5-6 STUR-NRT M To cross railway track
25 279 52/7-8 SAB-MUK M To cross railway track
26 275 58/7-8 SAB-MUK M To cross railway track
27 273 65/1-2 SAB-SYM M To cross railway track
28 271 67/6-7 SAB-SYM M To cross railway track
29 269 70/1-2 SAB-SYM M To cross railway track
30 268 73/0-1 SYM-VKN M To cross railway track
31 267 75/0-2 SYM-VKN M To cross railway track
32 265 79/4-5 SYM-VKN M To cross railway track
33 264 82/9- VKN-GKM M To cross railway track
83/0
34 263 84/0-1 VKN-GKM M To cross railway track
Page 11 of 15
35 260 90/0-1 VKN-GKM M To cross railway track
36 258 94/1-2 VKN-GKM M To cross railway track
37 257 95/5-6 VKN-GKM M To cross railway track
38 256 96/7-8 GKM-KCD M To cross railway track
39 254 100/5-6 GKM-KCD M To cross railway track
40 253 104/3-4 GKM-KCD M To cross railway track
41 251 106/8-9 GKM-KCD M To cross railway track
42 250A 108/7-8 KCD-DKD M To cross railway track
43 249 112/4-5 KCD-DKD M To cross railway track
44 248 114/1-2 KCD-DKD M To cross railway track
45 246 119/4-5 DKD-KCD M To cross railway track
4(e) Doubling work was taken up by Construction organization. During doubling, no manned LC gate was converted into RUB by Construction organization between Markapur road and Nandyal stations. Reasons for non conversion of LCs into RUBs pertains to Construction Organization.
4(f) Doubling work was taken up by Construction organization. During doubling, no manned LC gate was converted into RUB by Construction organization between Markapur road and Nandyal stations. Reasons for non conversion of LCs into RUBs pertains to Construction Organization.
4(g) Doubling work was taken up by Construction organization. During doubling, no manned LC gate was converted into RUB by Construction organization between Markapur road and Nandyal stations. Reasons for non conversion of LCs into RUBs pertains to Construction Organization.
4(h) Doubling work was taken up by Construction organization. During doubling, no manned LC gate was converted into RUB by Construction organization between Guntur and Donakonda stations. Reasons for non conversion of LCs into RUBs pertains to Construction Organization.
5 At present, the following trains are having stoppage at Gajjalakonda.
S.No. Train No. From-To PTT Timing 1 07889 RAL-MRK 09:21 09:22 2 17252 KCG-GNT 08:17 08:18 3 07890 MRK-GNT 09:59 10:00 4 17251 GNT-KCG 19:33 19:34 Page 12 of 15 However, a proposal for T.No. 17253/17254, 17227/17228 & 17329/17320 was sent to HQ vide letter No. GNT/T.463/WTT/Vol.1/2023 27.04.2023. dt.
6 Conversion of passenger trains into express trains is in the level of Headquarters. The decision will not be taken at Divisional level. However, following proposals were sent to Headquarters on 27-4- 23 for providing halt at Gajjelakonda.
Tr.No. From-To Provision of stoppage at station.
17253/54 GNT-SC-GNT GJJ, SYM 17227/28 DHNE-GNT-DHNE GJJ 17329/30 UBL-BZA-UBL GJJ
7 List of stations selected under Amrit Bharat Station Redevelopment Scheme in Guntur Railway Division Guntur are furnished bellow:
Sl.No. Station Aminities
Mangalagiri, Provision of Display systems
Giddalur, Improvements to MEA & Divyangjan facilities
Narasaraopet, Provision of Passenger lifts
1 Vinukonda, Improvements to Façade
Satenapalli, Nadikudi,
Improvements to Station Circulating Areas, Station Macherla approaches Improvements to Platforms and their Shelters Improvements to MEA & Divyangjan facilities Provision of Passenger lifts Improvements to Façade 2 Repalle Improvements to Station Circulating Areas, Station approaches Improvement to Station Buildings (Construction of new station buildings) 12.0m Wide FOB Improvements to Platforms and their Shelters Donakonda, Guntur, Improvements to MEA & Divyangjan facilities Nandyala, Markapur Provision of Passenger lifts Road, Cumbum, Improvements to Façade
3 Piduguralla, Improvements to Station Circulating Areas, Station Nalgonda, approaches Miryalaguda. 12.0m Wide FOB Improvements to Platforms and their Shelters Improvements to MEA & Divyangjan facilities Provision of Passenger lifts Improvements to Façade Page 13 of 15 4 Piduguralla Improvements to Station Circulating Areas, Station approaches Improvement to Station Buildings (Construction of new station buildings) Improvements to Platforms and their Shelters 8 List of Stations (ABSS) Sl.no Station Phase-I Sanctioned Phase-II (FOB's) Total (Cost in (Cost in Thousands Sanctioned (Cost in Thousands of of Rs.) Thousands of Rs.) Rs.) 1 Guntur 158071 248682 406753 2 Mangalagiri 125653 - 125653 3 Repalle 255671 - 255671 4 Nandyal 105934 112100 218034 5 Giddalur 117224 - 117224 6 Cumbum 117224 - 117224 7 Markapur 115820 99200 215020 8 Narasaraopet 113269 118000 231269 9 Vinukonda 124559 - 124559 10 Donakonda 183120 - 183120 11 Piduguralla 193069 84282 277351 12 Satenapalli 112990 - 112990 13 Nadikudi 112990 - 112990 14 Nalgonda 95169 75000 170169 15 Miryalaguda 95169 72700 167869 16 Macherla 95169 - 95169 Total 2121102 809964 2931066 9 Guntur, New Guntur, Nandyala, Vinukonda, Narasaraopeta, Sattenapalli, Piduguralla, Nadikudi, Miryalaguda, Nalgonda."
3. Feeling aggrieved and dissatisfied, Appellant approached the Commission with the instant Second Appeal.
Relevant Facts emerged during Hearing:
The following were present:-
Appellant: Absent Respondent: Shri Ravi Raju, CPIO/ Assistant Operations Manager, appeared through video conference.Page 14 of 15
4. The Respondent while defending their case inter alia submitted that the information sought by the Appellant was duly provided within the stipulated time under the RTI Act. Additionally, they clarified that the available records were disclosed, and no further documents exist in the Respondent's custody.
Decision:
5. The Commission after adverting to the facts and circumstances of the case, hearing the Respondent and perusal of the records, observed that the Respondent has provided the available information to the Appellant as per the provisions of the RTI Act vide letter dated 10.10.2023. The Appellant remained absent despite service of hearing notice and in his absence the reasons for dissatisfaction to the information/reply provided by the Respondent authority could not be ascertained. That being so, and the detained information having been furnished to the Appellant, the Commission finds no scope for intervention under the RTI Act.
The appeal is dismissed accordingly.
Vinod Kumar Tiwari (विनोद कुमार वििारी) Information Commissioner (सूचना आयुक्त) Authenticated true copy (अनिप्रमानणर् सत्यानपर् प्रनर्) (S. Anantharaman) Dy. Registrar 011- 26181927 Date Copy To:
The FAA, Office of the Divisional Railway Manager, South Central Railway, Guntur Division, Commercial Branch, 2nd Floor, Rail Vikas Bhawan, Guntur - 522006 Page 15 of 15 Recomendation(s) to PA under section 25(5) of the RTI Act, 2005:-
Nil Powered by TCPDF (www.tcpdf.org)