├── CNAME ├── favicon.ico ├── 404.html ├── .github ├── ISSUE_TEMPLATE │ ├── broken-link.md │ ├── wiki-issue.md │ ├── portal-issue.md │ ├── hallway-issue.md │ └── inappropriate-content.md └── PULL_REQUEST_TEMPLATE │ └── add-site.md ├── icon.black.svg ├── icon.white.svg ├── icon.black.large.svg ├── media └── icon.black.large.svg ├── links └── main.css ├── LICENSE ├── README.md ├── webring.opml └── index.html /CNAME: -------------------------------------------------------------------------------- 1 | webring.xxiivv.com -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/h3rald/webring/main/favicon.ico -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /404.html 3 | --- 4 | 5 | 6 | 7 | 8 | Loading.. 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/broken-link.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Broken link 3 | about: Report a broken link in the webring 4 | title: '' 5 | labels: broken link 6 | assignees: neauoire, kodedninja, joshavanier, ckipp01 7 | 8 | --- 9 | 10 | **Name of the site:** 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/wiki-issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Wiki issue 3 | about: Report an issue with the Wiki 4 | title: '' 5 | labels: wiki 6 | assignees: neauoire, kodedninja, joshavanier, ckipp01 7 | 8 | --- 9 | 10 | **Please describe the issue in the wiki:** 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/portal-issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Portal issue 3 | about: Report an issue with the Portal 4 | title: '' 5 | labels: portal 6 | assignees: neauoire, kodedninja, joshavanier, ckipp01 7 | 8 | --- 9 | 10 | **Please describe the issue in the portal:** 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/hallway-issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Hallway issue 3 | about: Report an issue with the Hallway 4 | title: '' 5 | labels: hallway 6 | assignees: neauoire, kodedninja, joshavanier, ckipp01 7 | 8 | --- 9 | 10 | **Please describe the issue in the hallway:** 11 | -------------------------------------------------------------------------------- /icon.black.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icon.white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icon.black.large.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/inappropriate-content.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Inappropriate content 3 | about: Report inappropriate content in the webring 4 | title: '' 5 | labels: '' 6 | assignees: neauoire, kodedninja, joshavanier, ckipp01 7 | 8 | --- 9 | 10 | **Name of the site:** 11 | 12 | 13 | 14 | **Please explain what is inappropriate and link if necessary:** 15 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE/add-site.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: add.site 3 | about: Submitting a new site to the webring 4 | title: '' 5 | labels: '' 6 | assignees: neauoire, kodedninja, joshavanier, ckipp01 7 | 8 | --- 9 | 10 | **Position of webring icon on site:** 11 | 12 | ex: footer, header 13 | 14 | **Make sure the contact key is also filled out in case we need to contact you** 15 | -------------------------------------------------------------------------------- /media/icon.black.large.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /links/main.css: -------------------------------------------------------------------------------- 1 | body { padding: 0; margin: 0 0 0 0; font-family: serif; max-width: 900px } 2 | body a { color: black; text-decoration: none } 3 | body a:hover { background-color: black; color: white } 4 | body a:before { content:'{' } 5 | body a:after { content:'}' } 6 | body > ol { margin: 30px; padding: 0px 30px 30px; column-count: 3; display: block; border-bottom:2px solid black } 7 | body > ol > li { padding-right: 30px; margin-right:30px } 8 | body > ol > li:target { background:black } 9 | body > ol > li:target a { color: white } 10 | body > footer { margin:30px } 11 | body > footer > p { max-width: 600px } 12 | body > footer > img { display: inline-block; width:100px; margin-bottom: -5px; margin-bottom:30px; } 13 | @media screen and (max-width: 800px) { body > ol { column-count: 2; } } 14 | @media screen and (max-width: 600px) { body > ol { column-count: 1; } } 15 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Devine Lu Linvega 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Webring 2 | 3 | This [webring](https://wiki.xxiivv.com/webring) is an attempt to inspire artists & developers to create and maintain their own personal websites, and share traffic among each other. The webring's aim is to share rich hand-crafted websites such as **diaries, wikis & portfolios**. 4 | 5 | ## Join the webring 6 | 7 | ```html 8 | 9 | XXIIVV webring 10 | 11 | ``` 12 | 13 | 1) Add the webring icon to your website HTML. 14 | 2) Add your website information to the [index.html](index.html) file. Keep your link name short, and don't leave a trailing `/` in the `href` attribute. Use a sensible alphanumeric value for the `id` attribute. 15 | 3) Submit a Pull Request with **the location of the webring icon** on your site. Pull requests with blank descriptions will be rejected. 16 | 17 | Alternatively, if you your website has a dark background, use `icon.white.svg`. If your website is complaining about *https*, go ahead and host the icon yourself. 18 | 19 | ### Webring criteria 20 | 21 | Your website must count at least 10 content pages and include an about page, blog posts are not counted as content pages. You must have your own domain name, we do not accept `github.io` subdomains. 22 | 23 | Single page websites, websites acting only as portals to other social platforms, or websites with violent, racist, sexist or speciesist content will be rejected. If your website requires Javascript/CSS3 to display the majority of its content or to navigate, it will be rejected. Your business homepage is not a good candidate for the webring, and will be rejected. 24 | 25 | If it's found that a website is in violation of any of these rules it will be removed from the webring. Websites without activity for over 2 years might also be periodically removed. 26 | 27 | #### Adding your RSS/TWTXT 28 | 29 | To add an extra feed to your entry, add them within your `
  • ` tag as follow: 30 | 31 | ```html 32 |
  • 33 | xxiivv 34 | twtxt 35 | rss 36 | 37 |
  • 38 | ``` 39 | 40 | [twtxt](https://twtxt.readthedocs.io/en/stable/) is a decentralized, minimalist microblogging service for hackers. You're welcome to add your twtxt feed alongside your RSS feed. If you're looking a minimal C99 client for twtxt, try [this](https://github.com/neauoire/twtxtc). The `button.gif` is a 88x31 icon hosted on your server. 41 | 42 | ### Circular Linking 43 | 44 | Instead of linking to the directory, you can also link to the next link in the ring by adding parts of your site or domain in the hash of the request url: 45 | 46 | ```html 47 | 48 | XXIIVV webring 49 | 50 | ``` 51 | 52 | ## Help 53 | 54 | The ring is managed by [@neauoire](https://merveilles.town/@neauoire), but any member of the network is also welcome to join this repository as a collaborator to help manage new links and Pull Requests. Read more about the webring [here](https://wiki.xxiivv.com/webring). 55 | -------------------------------------------------------------------------------- /webring.opml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | webring.opml 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Webring 9 | 10 | 11 |
      12 |
    1. 13 | xxiivv 14 | twtxt 15 | rss 16 | 17 |
    2. 18 |
    3. 19 | estevancarlos 20 |
    4. 21 |
    5. 22 | electro pizza 23 | twtxt 24 | rss 25 |
    6. 26 |
    7. 27 | avanier 28 | twtxt 29 |
    8. 30 |
    9. 31 | detritus.zone 32 | rss 33 | 34 |
    10. 35 |
    11. 36 | hraew.autophagy 37 |
    12. 38 |
    13. 39 | heracl.es 40 | rss 41 |
    14. 42 |
    15. 43 | stecko.website 44 |
    16. 45 |
    17. 46 | lectronice 47 | rss 48 | 49 |
    18. 50 |
    19. 51 | craze.co.uk 52 |
    20. 53 |
    21. 54 | shaneckel 55 |
    22. 56 |
    23. 57 | cblgh 58 | rss 59 | cblgh.org webring banner 60 |
    24. 61 |
    25. 62 | ellugar 63 | rss 64 | ellugar.co banner 65 |
    26. 66 |
    27. 67 | chigby 68 |
    28. 69 |
    29. 70 | longest.voyage 71 | rss 72 |
    30. 73 |
    31. 74 | palomakop.tv 75 | rss 76 |
    32. 77 |
    33. 78 | v-os.ca 79 |
    34. 80 |
    35. 81 | 2d4.dev 82 | twtxt 83 |
    36. 84 |
    37. 85 | nathanwentworth 86 |
    38. 87 |
    39. 88 | uonai.space 89 |
    40. 90 |
    41. 91 | wasin 92 |
    42. 93 |
    43. 94 | inns.studio 95 |
    44. 96 |
    45. 97 | kokorobot.ca 98 | kokorobot 99 | rss 100 |
    46. 101 |
    47. 102 | ameyama 103 | rss 104 |
    48. 105 |
    49. 106 | wake.st 107 | twtxt 108 | wake.st webring banner 109 |
    50. 110 |
    51. 111 | xarene.la 112 |
    52. 113 |
    53. 114 | alex.zyzhang.me 115 |
    54. 116 |
    55. 117 | vortok 118 |
    56. 119 |
    57. 120 | aeriform.io 121 |
    58. 122 |
    59. 123 | nonmateria 124 | rss 125 | nonmateria.com webring banner 126 |
    60. 127 |
    61. 128 | drisc 129 |
    62. 130 |
    63. 131 | ricky.codes 132 |
    64. 133 |
    65. 134 | maxdeviant 135 |
    66. 136 |
    67. 137 | tynandebold 138 |
    68. 139 |
    69. 140 | gytis.co 141 |
    70. 142 |
    71. 143 | nomand.co 144 |
    72. 145 |
    73. 146 | s-ol.nu 147 |
    74. 148 |
    75. 149 | chad.is 150 | rss 151 |
    76. 152 |
    77. 153 | smidgeo.com/bots 154 |
    78. 155 |
    79. 156 | iko.soy 157 |
    80. 158 |
    81. 159 | ritual dust 160 | rss 161 | 162 |
    82. 163 |
    83. 164 | magoz.is 165 |
    84. 166 |
    85. 167 | szymonkaliski 168 | rss 169 |
    86. 170 |
    87. 171 | phse.net 172 | rss 173 |
    88. 174 |
    89. 175 | rosano.ca 176 | rss 177 |
    90. 178 |
    91. 179 | gndclouds.cc 180 |
    92. 181 |
    93. 182 | xuv.be 183 |
    94. 184 |
    95. 185 | yiming.dev 186 |
    96. 187 |
    97. 188 | boffosocko 189 |
    98. 190 |
    99. 191 | hex22 192 |
    100. 193 |
    101. 194 | patrikarvidsson 195 |
    102. 196 |
    103. 197 | sophieleetmaa 198 |
    104. 199 |
    105. 200 | xinniw.github 201 |
    106. 202 |
    107. 203 | sodatsu 204 | twtxt 205 |
    108. 206 |
    109. 207 | tom hackshaw 208 |
    110. 209 |
    111. 210 | Colectivo de Livecoders 211 |
    112. 212 |
    113. 213 | madewithtea 214 |
    114. 215 |
    115. 216 | buzzert.net 217 |
    116. 218 |
    117. 219 | serocell.com 220 | rss 221 |
    118. 222 |
    119. 223 | kor 224 | twtxt 225 |
    120. 226 |
    121. 227 | lublin.se 228 | twtxt 229 |
    122. 230 |
    123. 231 | zanneth 232 |
    124. 233 |
    125. 234 | eli.li 235 | rss 236 | Oatmeal badge 237 |
    126. 238 |
    127. 239 | gosha.net 240 | rss 241 |
    128. 242 |
    129. 243 | Tate Carson 244 |
    130. 245 |
    131. 246 | azlen.me 247 | twtxt 248 |
    132. 249 |
    133. 250 | OpGuides 251 | gradient hue shift 252 |
    134. 253 |
    135. 254 | CMaughan 255 | twtxt 256 |
    136. 257 |
    137. 258 | oddworlds soliloquy 259 | rss 260 |
    138. 261 |
    139. 262 | Fundor333 263 | twtxt 264 | 265 |
    140. 266 |
    141. 267 | cass.si 268 |
    142. 269 |
    143. 270 | mdbenning 271 |
    144. 272 |
    145. 273 | resevoir 274 | rss 275 | 276 |
    146. 277 |
    147. 278 | sixey.es 279 | 280 |
    148. 281 |
    149. 282 | 0xdstn 283 | rss 284 |
    150. 285 |
    151. 286 | James Chip 287 | rss 288 | 289 |
    152. 290 |
    153. 291 | patrick-is.cool 292 |
    154. 293 |
    155. 294 | icyphox.sh 295 | rss 296 |
    156. 297 |
    157. 298 | raul altosaar 299 |
    158. 300 |
    159. 301 | Cr;Lf; 302 | rss 303 |
    160. 304 |
    161. 305 | Jóhannes G. Þorsteinsson 306 |
    162. 307 |
    163. 308 | Provoke Analog 309 |
    164. 310 |
    165. 311 | eti.tf 312 | eti's webring banner 313 |
    166. 314 |
    167. 315 | rezmason.net 316 | rezmason's webring banner 317 |
    168. 318 |
    169. 319 | estfyr.net 320 |
    170. 321 |
    171. 322 | Nat Welch 323 | rss 324 |
    172. 325 |
    173. 326 | Park Imminent 327 |
    174. 328 |
    175. 329 | Paul Glushak 330 |
    176. 331 |
    177. 332 | Simone's Computer 333 | rss 334 | 335 |
    178. 336 |
    179. 337 | dreamspace 338 | rss 339 | 340 |
    180. 341 |
    181. 342 | q.pfiffer.org 343 | rss 344 |
    182. 345 |
    183. 346 | zvava 347 | 348 |
    184. 349 |
    185. 350 | amorphic.space 351 |
    186. 352 |
    187. 353 | Archive Fever 354 | rss 355 |
    188. 356 |
    189. 357 | Mental Nodes 358 |
    190. 359 |
    191. 360 | copiona 361 |
    192. 362 |
    193. 363 | proycon 364 |
    194. 365 |
    195. 366 | margin chronicles 367 |
    196. 368 |
    197. 369 | roytang.net 370 | rss 371 |
    198. 372 |
    199. 373 | MaterialFuture 374 | rss 375 |
    200. 376 |
    201. 377 | Dampfkraft 378 | rss 379 |
    202. 380 |
    203. 381 | travisshears 382 | twtxt 383 | rss 384 |
    204. 385 |
    205. 386 | awalvie 387 |
    206. 388 |
    207. 389 | futuristan.io 390 |
    208. 391 |
    209. 392 | yctct 393 | twtxt 394 | rss 395 |
    210. 396 |
    211. 397 | Felix Elsner 398 | rss 399 |
    212. 400 |
    213. 401 | Julien Desrosiers 402 | rss 403 |
    214. 404 |
    215. 405 | nchrs.xyz 406 | rss 407 |
    216. 408 |
    217. 409 | Northern Information 410 | rss 411 |
    218. 412 |
    219. 413 | Matilde Park 414 | rss 415 |
    220. 416 |
    221. 417 | deianeira.co 418 | 419 |
    222. 420 |
    223. 421 | inqlab.net 422 | rss 423 |
    224. 424 |
    225. 425 | abstractxan.xyz 426 |
    226. 427 |
    227. 428 | m-x marin 429 |
    228. 430 |
    229. 431 | metasyn 432 | rss 433 | 434 |
    230. 435 |
    231. 436 | milofultz 437 |
    232. 438 |
    233. 439 | Thomasorus 440 |
    234. 441 |
    235. 442 | neeasade 443 | rss 444 |
    236. 445 | wesleyac 446 | rss 447 |
    237. 448 |
    238. 449 | wolfmd 450 | rss 451 | wolfmd webring banner 452 |
    239. 453 |
    240. 454 | automata / vilson vieira 455 |
    241. 456 |
    242. 457 | he can jog 458 | twtxt 459 | 460 |
    243. 461 |
    244. 462 | fragmentscenario 463 | 464 |
    245. 465 |
    246. 466 | corvid cafe 467 | rss 468 | 469 |
    247. 470 |
    248. 471 | anti-pattern / alessia bellisario 472 | rss 473 |
    249. 474 |
    250. 475 | weakty 476 |
    251. 477 |
    252. 478 | mrshll 479 | rss 480 | 481 |
    253. 482 |
    254. 483 | everest pipkin 484 |
    255. 485 |
    256. 486 | hs0ucy 487 | rss 488 |
    257. 489 |
    258. 490 | darch 491 | twtxt 492 | rss 493 |
    259. 494 |
    260. 495 | notebook.hew.tt 496 | rss 497 | 498 |
    261. 499 |
    262. 500 | pbatch 501 | twtxt 502 |
    263. 503 |
    264. 504 | dom 505 | twtxt 506 | 507 |
    265. 508 |
    266. 509 | njoqi 510 |
    267. 511 |
    268. 512 | eric.jetzt 513 |
    269. 514 |
    270. 515 | gr0k 516 | twtxt 517 | rss 518 |
    271. 519 |
    272. 520 | Clarity Flowers 521 |
    273. 522 |
    274. 523 | Ten Digits 524 | rss 525 | 526 |
    275. 527 |
    276. 528 | sirtetris 529 |
    277. 530 |
    278. 531 | caffeine 532 |
    279. 533 |
    280. 534 | itwont.work 535 | rss 536 |
    281. 537 |
    282. 538 | badd10de 539 | 540 |
    283. 541 |
    284. 542 | nilFM 543 | twtxt 544 | 545 |
    285. 546 |
    286. 547 | wilde at heart 548 |
    287. 549 |
    288. 550 | voidjumper.glass 551 |
    289. 552 |
    290. 553 | pixouls 554 | rss 555 | pixouls.xyz webring banner 556 |
    291. 557 |
    292. 558 | embyr.sh 559 | rss 560 |
    293. 561 |
    294. 562 | maxhaesslein.de 563 |
    295. 564 |
    296. 565 | compudanzas 566 | twtxt 567 | rss 568 |
    297. 569 |
    298. 570 | yhancik 571 | 572 |
    299. 573 |
    300. 574 | astral↔bijection 575 | twtxt 576 | rss 577 | 578 |
    301. 579 |
    302. 580 | flower.codes 581 | rss 582 |
    303. 583 |
    304. 584 | noelle.dev 585 | noelle.dev webring banner 586 |
    305. 587 |
    306. 588 | giacintocarlucci.it 589 |
    307. 590 |
    308. 591 | paritybit.ca 592 | rss 593 | paritybit.ca webring banner 594 |
    309. 595 |
    310. 596 | vladh 597 |
    311. 598 |
    312. 599 | Plastic Idolatry 600 |
    313. 601 |
    314. 602 | Ferale Art 603 | rss 604 |
    315. 605 |
    316. 606 | Pachapunk 607 |
    317. 608 |
    318. 609 | toyos.dev 610 |
    319. 611 |
    320. 612 | Well Observe 613 | rss 614 |
    321. 615 |
    322. 616 | D00k 617 | rss 618 |
    323. 619 |
    324. 620 | DetonDev 621 | 622 |
    325. 623 |
    326. 624 | Aethopica 625 |
    327. 626 |
    328. 627 | jache.re 628 |
    329. 629 |
    330. 630 | oddblog 631 | 632 |
    331. 633 |
    332. 634 | Helvetica Blanc 635 | rss 636 | 637 |
    333. 638 |
    334. 639 | colindrake.me 640 |
    335. 641 |
    336. 642 | tone.support 643 |
    337. 644 |
    338. 645 | armaina 646 | rss 647 | 648 |
    339. 649 |
    340. 650 | sindhu.live 651 |
    341. 652 |
    342. 653 | nuel 654 | 655 |
    343. 656 |
    344. 657 | ffs.fm 658 |
    345. 659 |
    346. 660 | aphrodite.dev 661 | rss 662 | 663 |
    347. 664 |
    348. 665 | zeal.co 666 |
    349. 667 |
    350. 668 | tham.es 669 |
    351. 670 |
    352. 671 | kae.si 672 | rss 673 | 674 |
    353. 675 |
    354. 676 | canalswans 677 |
    355. 678 |
    356. 679 | Erin Bern 680 | rss 681 | 682 |
    357. 683 |
    358. 684 | Kira's Web-Treehouse 685 |
    359. 686 |
    360. 687 | chötrin's wiki. 688 | rss 689 |
    361. 690 |
    362. 691 | emile.space. 692 | twtxt 693 |
    363. 694 |
    364. 695 | mayaks 696 |
    365. 697 |
    366. 698 | vitbaisa 699 | rss 700 |
    367. 701 |
    368. 702 | bloguslibrus 703 | rss 704 |
    369. 705 |
    370. 706 | kxvin 707 |
    371. 708 |
    372. 709 | nebula.ed1.club 710 |
    373. 711 |
    374. 712 | plungepool 713 |
    375. 714 |
    376. 715 | strickinato 716 | rss 717 |
    377. 718 |
    378. 719 | ghettobastler 720 |
    379. 721 |
    380. 722 | Sweetfish Ayu 723 | rss 724 |
    381. 725 |
    382. 726 | tosatur 727 | rss 728 |
    383. 729 |
    384. 730 | pfych 731 | rss 732 |
    385. 733 |
    386. 734 | benji 735 | twtxt 736 | rss 737 | 738 |
    387. 739 |
    388. 740 | manifoldslug 741 | rss 742 |
    389. 743 |
    390. 744 | h3rald 745 |
    391. 746 |
    747 | 759 | 787 | 788 | 789 | --------------------------------------------------------------------------------