www.openusenet.org

DIABLO statistics for feeder2.ecngs.de on Sat 04 Jun 2022

Newsfeed Contact: HD Elbracht

Generated on 20220604 2358 by feeder-stats v4.006. Copyright © 2002 The Diablo Project.


  1. Summary of Incoming Feeds by Article
  2. Summary of Incoming Feeds by Volume
  3. Summary of Incoming Feeds by Estimated Rejected Volume
  4. Summary of Incoming Feeds by Time
  5. Summary of Outgoing Feeds by Article
  6. Summary of Outgoing Feeds by Volume
  7. Summary of Outgoing Feeds by Estimated Rejected Volume
  8. Summary of Outgoing Feeds by Time
  9. Summary of Outgoing Queue
  10. Summary of Curious Activity

Diablo running processes:  34    Dnewslink running processes:  48



 00:00:36 up 12 days,  8:33,  1 user,  load average: 2,04, 1,40, 1,14

/dev/nvme0n1                  440G     96G  322G   23% /news2/spool/news/00
/dev/nvme1n1                  440G     96G  322G   23% /news2/spool/news/01


1. Summary of Incoming Feeds by Article

Incoming Feed (+ Top1000 #)Accepted%Acc%TotArt/secVolume%VolKB/artCheckIhaveSpamTooOldRejsErrs
1 feeder1.feed.usenet.farm   27429863 87.44 88.68 317.48 9.30TB 90.92 364.24 31343438 0 0 0 26850 0
2 feeder5.feed.usenet.farm   2417234 14.79 7.81 27.98 807.90GB 7.71 350.46 16303085 0 0 0 36262 0
3 newsfeed.neva.ru   387818 57.12 1.25 4.49 7.22GB 0.07 19.52 677072 0 0 0 1853 0
4 feeder.ecngs.de   179224 86.88 0.58 2.07 112.27GB 1.07 656.83 206284 0 0 0 0 0
5 iqoq.erje.net   179053 19.07 0.58 2.07 3.23GB 0.03 18.93 938530 0 0 0 603 0
6 kotz.erje.net   131396 13.78 0.42 1.52 1.64GB 0.02 13.10 948559 0 0 0 5227 0
7 178.20.174.213   45148 70.17 0.15 40.67 13.62GB 0.13 316.34 64322 0 0 0 23 0
8 sxng.erje.net   42398 5.71 0.14 0.49 523.82MB 0.00 12.65 742428 0 0 0 580 0
9 imqag.erje.net   31891 7.01 0.10 0.37 500.29MB 0.00 16.06 453931 0 0 0 1316 0
10 ixni.erje.net   31472 4.02 0.10 0.36 566.68MB 0.01 18.44 780995 0 0 0 1521 0
11 goblin.stu.neva.ru   20212 11.28 0.07 0.23 378.52MB 0.00 19.18 178981 0 0 0 243 0
12 feeder8.news.weretis.net   13496 39.26 0.04 0.31 41.86MB 0.00 3.18 34357 0 0 0 20 0
13 178.20.174.218   10539 19.13 0.03 12.96 3.22GB 0.03 319.90 54913 0 0 0 192 0
14 irena.erje.net   8207 2.42 0.03 0.10 134.33MB 0.00 16.76 339458 0 0 0 85 0
15 feeds.phibee-telecom.net   2490 8.37 0.01 0.17 16.64MB 0.00 6.84 29758 0 0 0 5 0
16 srv1.nyc.us.weretis.net   2421 6.88 0.01 0.17 7.37MB 0.00 3.12 35191 0 0 0 5 0
Total 30932862 0.00 100.00 411.46 10.23TB 100.00 355.23 53131302 0 0 0 74785 0

Graph

Goto top of page


2. Summary of Incoming Feeds by Volume

Incoming Feed (+ Top1000 #)Volume%VolKbpsAccepted%Acc%TotKB/artCheckIhaveSpamTooOldRejsErrs
1 feeder5.feed.usenet.farm   807.90GB 7.71 78439.70 2417234 14.79 7.81 350.46 16303085 0 0 0 36262 0
2 feeder.ecngs.de   112.27GB 1.07 10899.98 179224 86.88 0.58 656.83 206284 0 0 0 0 0
3 feeder1.feed.usenet.farm   9.30TB 90.92 925091.55 27429863 87.44 88.68 364.24 31343438 0 0 0 26850 0
4 178.20.174.213   13.62GB 0.13 102935.56 45148 70.17 0.15 316.34 64322 0 0 0 23 0
5 newsfeed.neva.ru   7.22GB 0.07 700.90 387818 57.12 1.25 19.52 677072 0 0 0 1853 0
6 iqoq.erje.net   3.23GB 0.03 313.79 179053 19.07 0.58 18.93 938530 0 0 0 603 0
7 178.20.174.218   3.22GB 0.03 33175.04 10539 19.13 0.03 319.90 54913 0 0 0 192 0
8 kotz.erje.net   1.64GB 0.02 159.43 131396 13.78 0.42 13.10 948559 0 0 0 5227 0
9 ixni.erje.net   566.68MB 0.01 53.73 31472 4.02 0.10 18.44 780995 0 0 0 1521 0
10 sxng.erje.net   523.82MB 0.00 49.67 42398 5.71 0.14 12.65 742428 0 0 0 580 0
11 imqag.erje.net   500.29MB 0.00 48.00 31891 7.01 0.10 16.06 453931 0 0 0 1316 0
12 goblin.stu.neva.ru   378.52MB 0.00 35.89 20212 11.28 0.07 19.18 178981 0 0 0 243 0
13 irena.erje.net   134.33MB 0.00 12.94 8207 2.42 0.03 16.76 339458 0 0 0 85 0
14 feeder8.news.weretis.net   41.86MB 0.00 7.94 13496 39.26 0.04 3.18 34357 0 0 0 20 0
15 feeds.phibee-telecom.net   16.64MB 0.00 9.46 2490 8.37 0.01 6.84 29758 0 0 0 5 0
16 srv1.nyc.us.weretis.net   7.37MB 0.00 4.19 2421 6.88 0.01 3.12 35191 0 0 0 5 0
Total 10.23TB 100.00 1151937.77 30932862 0.00 100.00 355.23 53131302 0 0 0 74785 0

Graph

Goto top of page


3. Summary of Incoming Feeds by Estimated Rejected Volume

Incoming Feed (+ Top1000 #)Rej. Vol.%VolKbpsAccepted%Acc%TotKB/artCheckIhaveSpamTooOldRejsErrs
1 feeder5.feed.usenet.farm   12.28GB 56.81 1192.51 2417234 14.79 7.81 350.46 16303085 0 0 0 36262 0
2 feeder1.feed.usenet.farm   9.19GB 42.50 892.20 27429863 87.44 88.68 364.24 31343438 0 0 0 26850 0
3 178.20.174.218   58.63MB 0.26 590.77 10539 19.13 0.03 319.90 54913 0 0 0 192 0
4 newsfeed.neva.ru   28.52MB 0.13 2.70 387818 57.12 1.25 19.52 677072 0 0 0 1853 0
5 ixni.erje.net   16.31MB 0.07 1.55 31472 4.02 0.10 18.44 780995 0 0 0 1521 0
6 imqag.erje.net   13.85MB 0.06 1.33 31891 7.01 0.10 16.06 453931 0 0 0 1316 0
7 kotz.erje.net   8.53MB 0.04 0.81 131396 13.78 0.42 13.10 948559 0 0 0 5227 0
8 178.20.174.213   7.55MB 0.03 55.73 45148 70.17 0.15 316.34 64322 0 0 0 23 0
9 iqoq.erje.net   6.75MB 0.03 0.64 179053 19.07 0.58 18.93 938530 0 0 0 603 0
10 goblin.stu.neva.ru   5.43MB 0.02 0.51 20212 11.28 0.07 19.18 178981 0 0 0 243 0
11 sxng.erje.net   5.37MB 0.02 0.51 42398 5.71 0.14 12.65 742428 0 0 0 580 0
12 irena.erje.net   1.84MB 0.01 0.18 8207 2.42 0.03 16.76 339458 0 0 0 85 0
13 feeder8.news.weretis.net   79.24KB 0.00 0.01 13496 39.26 0.04 3.18 34357 0 0 0 20 0
14 feeds.phibee-telecom.net   11.85KB 0.00 0.01 2490 8.37 0.01 6.84 29758 0 0 0 5 0
15 srv1.nyc.us.weretis.net   10.81KB 0.00 0.01 2421 6.88 0.01 3.12 35191 0 0 0 5 0
16 feeder.ecngs.de   0.00KB 0.00 0.00 179224 86.88 0.58 656.83 206284 0 0 0 0 0
Total 21.62GB 100.00 2739.46 30932862 0.00 100.00 355.23 53131302 0 0 0 74785 0

Graph

Goto top of page


4. Summary of Incoming Feeds by Time

HourAccepted%AccVolume%VolCheckIhaveSpamRejsErrs
00 1171693 3.79 411.91GB 3.93 1848791 0 0 2593 0
01 924427 2.99 326.89GB 3.12 1507202 0 0 1631 0
02 1067057 3.45 362.29GB 3.46 1544188 0 0 1549 0
03 1078789 3.49 350.77GB 3.35 1540432 0 0 2321 0
04 1002303 3.24 316.76GB 3.02 1505660 0 0 1428 0
05 930543 3.01 298.82GB 2.85 1562441 0 0 1368 0
06 1346636 4.35 422.49GB 4.03 2255955 0 0 4441 0
07 1228860 3.97 390.68GB 3.73 2033473 0 0 2368 0
08 1031550 3.33 337.24GB 3.22 2027298 0 0 2452 0
09 1636380 5.29 526.04GB 5.02 3338941 0 0 3521 0
10 1170943 3.79 387.80GB 3.70 2442874 0 0 2432 0
11 1082645 3.50 372.19GB 3.55 2149554 0 0 2501 0
12 841292 2.72 291.63GB 2.78 1765049 0 0 2614 0
13 1237158 4.00 453.48GB 4.33 2136232 0 0 2020 0
14 1348226 4.36 500.38GB 4.77 2362962 0 0 2125 0
15 1547979 5.00 577.13GB 5.51 2777673 0 0 2325 0
16 1560279 5.04 561.25GB 5.36 2717427 0 0 2264 0
17 1187878 3.84 438.70GB 4.19 2021982 0 0 2050 0
18 1239899 4.01 446.39GB 4.26 2057453 0 0 1872 0
19 1558016 5.04 525.17GB 5.01 2454594 0 0 1991 0
20 1398455 4.52 477.73GB 4.56 2264390 0 0 4277 0
21 1848464 5.98 587.13GB 5.60 2969485 0 0 3752 0
22 1583407 5.12 499.00GB 4.76 2723725 0 0 10090 0
23 1909983 6.17 617.49GB 5.89 3123521 0 0 10800 0
Total 30932862 100.00 10.23TB 100.00 53131302 0 0 74785 0

Graph

Goto top of page


5. Summary of Outgoing Feeds by Article

Outgoing Feed (+ Top1000 #)Accepted%Acc%TotArt/secVolume%VolKB/artDupsRejs% Ratio (Out/In)
1 feeder.ecngs.de   30665081 99.58 37.97 354.92 10.11TB 58.68 353.90 129877 017109.92
2 nbr.elbracht.net   28394446 99.58 35.16 328.64 20.31GB 0.12 0.75 120362 710
3 spool1.ecngs.de   21138772 99.61 26.17 244.66 7.09TB 41.15 360.03 83259 559
4 ecngs-proxad.newsfeed.proxad.net   505704 58.93 0.63 5.85 7.40GB 0.04 15.34 346519 5968
5 ecngs-in.feeder.erje.net   47070 12.91 0.06 0.54 619.96MB 0.00 13.49 253231 64313
6 ecngs-feed-me.usenet.farm   9389 2.72 0.01 0.11 718.90MB 0.00 78.41 335080 270
7 feeds.phibee-telecom.net   1950 5.87 0.00 0.02 6.60MB 0.00 3.47 30867 428 78.31
8 ecngs-in.news.weretis.net   144 0.43 0.00 0.00 707.69KB 0.00 4.91 32984 546
9 217.73.144.40   22 20.95 0.00 0.00 52.78KB 0.00 2.40 83 0
10 ecngs.de-in.nntp.neva.ru   0 0.00 0.00 0.00 0.00KB 0.00 0.00 1248541 0
11 ecngs-in.newsfeed.netcologne.de   0 0.00 0.00 0.00 0.00KB 0.00 0.00 11964 0
Total 80762578 0.97 100.00 934.75 17.22TB 100.00 228.98 2592767 72794 261.09

Graph

Goto top of page


6. Summary of Outgoing Feeds by Volume

Outgoing Feed (+ Top1000 #)Volume%VolKbpsAccepted%Acc%TotKB/artDupsRejs% Ratio (Out/In)
1 spool1.ecngs.de   7.09TB 41.15 704680.51 21138772 99.61 26.17 360.03 83259 559
2 feeder.ecngs.de   10.11TB 58.68 1004839.23 30665081 99.58 37.97 353.90 129877 0 9218.72
3 nbr.elbracht.net   20.31GB 0.12 1971.67 28394446 99.58 35.16 0.75 120362 710
4 ecngs-proxad.newsfeed.proxad.net   7.40GB 0.04 718.41 505704 58.93 0.63 15.34 346519 5968
5 ecngs-feed-me.usenet.farm   718.90MB 0.00 68.16 9389 2.72 0.01 78.41 335080 270
6 ecngs-in.feeder.erje.net   619.96MB 0.00 58.78 47070 12.91 0.06 13.49 253231 64313
7 feeds.phibee-telecom.net   6.60MB 0.00 0.63 1950 5.87 0.00 3.47 30867 428 39.68
8 ecngs-in.news.weretis.net   707.69KB 0.00 0.07 144 0.43 0.00 4.91 32984 546
9 217.73.144.40   52.78KB 0.00 0.01 22 20.95 0.00 2.40 83 0
10 ecngs.de-in.nntp.neva.ru   0.00KB 0.00 0.00 0 0.00 0.00 0.00 1248541 0
11 ecngs-in.newsfeed.netcologne.de   0.00KB 0.00 0.00 0 0.00 0.00 0.00 11964 0
Total 17.22TB 100.00 1712337.45 80762578 0.97 100.00 228.98 2592767 72794 168.30

Graph

Goto top of page


7. Summary of Outgoing Feeds by Estimated Rejected Volume

Outgoing Feed (+ Top1000 #)Rej. Vol.%VolKbpsAccepted%Acc%TotKB/artDupsRejs% Ratio (Out/In)
1 ecngs-in.feeder.erje.net   793.21MB 87.71 75.21 47070 12.91 0.06 13.49 253231 64313
2 ecngs-proxad.newsfeed.proxad.net   88.80MB 9.82 8.42 505704 58.93 0.63 15.34 346519 5968
3 ecngs-feed-me.usenet.farm   11.98MB 1.32 1.14 9389 2.72 0.01 78.41 335080 270
4 spool1.ecngs.de   7.84MB 0.87 0.74 21138772 99.61 26.17 360.03 83259 559
5 ecngs-in.news.weretis.net   1.11MB 0.12 0.11 144 0.43 0.00 4.91 32984 546
6 feeds.phibee-telecom.net   938.25KB 0.10 0.09 1950 5.87 0.00 3.47 30867 428 5.51
7 nbr.elbracht.net   536.25KB 0.06 0.05 28394446 99.58 35.16 0.75 120362 710
8 feeder.ecngs.de   0.00KB 0.00 0.00 30665081 99.58 37.97 353.90 129877 0 0.00
9 ecngs.de-in.nntp.neva.ru   0.00KB 0.00 0.00 0 0.00 0.00 0.00 1248541 0
10 ecngs-in.newsfeed.netcologne.de   0.00KB 0.00 0.00 0 0.00 0.00 0.00 11964 0
11 217.73.144.40   0.00KB 0.00 0.00 22 20.95 0.00 2.40 83 0
Total 904.38MB 100.00 85.75 80762578 0.97 100.00 228.98 2592767 72794 0.01

Graph

Goto top of page


8. Summary of Outgoing Feeds by Time

HourAccepted%AccVolume%VoldupsRejs
00 3114837 3.86 718.79GB 4.08 50966 409
01 2378723 2.95 557.40GB 3.16 32689 664
02 2635910 3.26 568.44GB 3.22 43675 1884
03 2878572 3.56 591.25GB 3.35 58210 7180
04 2720941 3.37 543.02GB 3.08 135862 13182
05 2409883 2.98 496.31GB 2.81 113026 9137
06 3682085 4.56 726.70GB 4.12 121369 9426
07 3382607 4.19 691.22GB 3.92 48940 9878
08 2897678 3.59 609.32GB 3.45 88096 2626
09 4270392 5.29 889.57GB 5.04 63646 2148
10 3167118 3.92 690.03GB 3.91 50792 348
11 3036503 3.76 687.66GB 3.90 52004 488
12 2243836 2.78 518.25GB 2.94 143017 581
13 2821172 3.49 659.77GB 3.74 87569 684
14 3453360 4.28 815.80GB 4.63 97475 1437
15 4021655 4.98 980.25GB 5.56 78903 665
16 3934774 4.87 905.79GB 5.14 156332 1157
17 2951205 3.65 698.77GB 3.96 147802 1812
18 3010132 3.73 717.09GB 4.07 177406 1004
19 4014463 4.97 879.07GB 4.98 137103 1858
20 3552486 4.40 782.54GB 4.44 78823 1673
21 4916829 6.09 998.59GB 5.66 215977 1340
22 4156734 5.15 846.79GB 4.80 204797 1102
23 5110683 6.33 1.04TB 6.03 208288 2111
Total 80762578 100.00 17.22TB 100.00 2592767 72794

Graph

Goto top of page


>= 20% Full >= 35% Full >= 50% Full >= 65% Full >= 80% Full >= 95% Full

9. Summary of Outgoing Queue

Outgoing FeedBatch SeqBatch NumBatch Max%FullAv. Pending
cambrium-out-l-2 382343-382347 4 3 133 0.0
cambrium-out-l-1 382343-382347 4 3 133 0.0
cambrium-out-l 382358-382362 4 3 133 0.0
xenna-out-s 382443-382448 5 4 125 0.0
xenna-out-l4 382326-382331 5 4 125 0.0
xenna-out-l3 382324-382329 5 4 125 0.0
xenna-out-l2 382327-382332 5 4 125 0.0
xenna-out-l1 382334-382339 5 4 125 0.0
usenetexp-s 382445-382450 5 4 125 0.0
usenetexp-l1 382321-382326 5 4 125 0.0
usenetexp-l 382310-382315 5 4 125 0.0
neva-s-1 382229-382234 5 4 125 3.0
neva-s 382463-382468 5 4 125 1.3
freenet-s 382459-382464 5 4 125 0.0
eweka-s 382463-382468 5 4 125 0.0
eweka-l5 382313-382318 5 4 125 0.0
eweka-l4 382319-382324 5 4 125 0.0
eweka-l3 382334-382339 5 4 125 0.0
eweka-l2 382325-382330 5 4 125 0.0
eweka-l1 382318-382323 5 4 125 0.0
eweka-l 382329-382334 5 4 125 0.0
cambrium-out-s 382461-382467 6 5 120 0.0
giga-out-s 382460-382467 7 6 116 0.0
giga-out-l 381749-381756 7 6 116 0.0
usenet-farm-out-s 382447-382448 1 4 25 3.1
usenet-farm-out-l 378692-378693 1 4 25 1.3
proxad-s 382467-382468 1 4 25 8.0
erje-s 382462-382463 1 4 25 5.2
phibee-s 382463-382464 1 5 20 3.6
spool1-out-s 382463-382464 1 6 16 4.0
spool1-out-l8 381303-381304 1 6 16 1.3
spool1-out-l7 381331-381332 1 6 16 1.3
spool1-out-l6 381300-381301 1 6 16 1.3
spool1-out-l5 381244-381245 1 6 16 1.3
spool1-out-l4 381315-381316 1 6 16 1.3
spool1-out-l3 381297-381298 1 6 16 1.3
spool1-out-l2 381328-381329 1 6 16 1.3
spool1-out-l12 381304-381305 1 6 16 1.3
spool1-out-l11 381309-381310 1 6 16 1.3
spool1-out-l10 381294-381295 1 6 16 1.3
spool1-out-l1 381297-381298 1 6 16 1.3
spool1-out-l 381292-381293 1 6 16 1.3
nbr.elbracht.net-o-1 382463-382464 1 6 16 0.0
nbr.elbracht.net-o 382462-382463 1 6 16 0.0
feeder-ecngs-out-s 382463-382464 1 6 16 2.9
feeder-ecngs-out-l7 382019-382020 1 6 16 1.5
feeder-ecngs-out-l6 382026-382027 1 6 16 1.4
feeder-ecngs-out-l5 382053-382054 1 6 16 1.5
feeder-ecngs-out-l4 382025-382026 1 6 16 1.4
feeder-ecngs-out-l3 382015-382016 1 6 16 1.4
feeder-ecngs-out-l2 382064-382065 1 6 16 1.4
feeder-ecngs-out-l1 382042-382043 1 6 16 1.5
feeder-ecngs-out-l 382055-382056 1 6 16 1.4
usenet-farm-out-l2 303232-303232 0 4 0 1.0
usenet-farm-out-l1 301876-301876 0 4 0 0.7
netcologne-out-s 195011-195011 0 6 0 6.4
nbr.elbracht.net-c 50456-50456 0 6 0 0.0
Goto top of page


10. Summary of Curious Activity

1st TimeLast Time# MsgsMessage
00:00:02  23:59:02 12801 feeder1.feed.usenet.farm Path element fails to match aliases: feeder1.feed.usenet.farm
00:00:03  23:59:08 6321 feeder5.feed.usenet.farm Path element fails to match aliases: feeder5.feed.usenet.farm
00:02:11  23:57:10 5760 hq-usenetpeers.eweka.nl: Connection timed out
00:00:01  23:55:01 5184 feed-in.de.xennanews.com: hostname lookup failure: feed-in.de.xennanews.com:(null): Name or service not known
00:02:11  23:59:22 2592 ecngs-in.feeder.usenetexpress.com: Connection timed out
00:00:01  23:55:01 2302 ecngs.nntp.giganews.com: 502 access denied
00:00:01  23:57:11 864 ecngs-in.feeder.usenetexpress.com: Connection refused
00:00:01  23:55:01 576 newsfeed.freenet.ag: hostname lookup failure: newsfeed.freenet.ag:(null): Name or service not known
00:01:14  23:56:01 573 iqoq.erje.net Path element fails to match aliases: 3.eu.feeder.erje.net
00:02:14  23:57:02 572 kotz.erje.net Path element fails to match aliases: 2.eu.feeder.erje.net
00:02:59  23:57:32 568 ixni.erje.net Path element fails to match aliases: 1.us.feeder.erje.net
00:02:10  23:55:27 558 sxng.erje.net Path element fails to match aliases: 1.as.feeder.erje.net
00:02:11  23:57:10 429 ecngs.de-in.nntp.neva.ru: Connection timed out
00:03:44  23:58:59 289 imqag.erje.net Path element fails to match aliases: 3.us.feeder.erje.net
00:04:25  23:59:30 284 irena.erje.net Path element fails to match aliases: 4.us.feeder.erje.net
00:13:07  23:56:04 102 goblin.stu.neva.ru Path element fails to match aliases: goblin1
00:07:17  23:54:03 96 newsfeed.neva.ru Path element fails to match aliases: goblin2
00:20:27  23:42:26 53 newsfeed.neva.ru Path element fails to match aliases: goblin3
06:18:12  18:18:13 36 feeder.ecngs.de: Remote EOF, attempting to reconnect
11:50:07  23:50:08 31 spool1.ecngs.de: (unknown error)
05:21:02  05:21:01 26 spool1.ecngs.de: Remote EOF, attempting to reconnect
00:58:07  23:44:07 19 178.20.174.213 Path element fails to match aliases: feeder1.feed.usenet.farm
00:58:02  23:44:04 14 178.20.174.218 Path element fails to match aliases: feeder5.feed.usenet.farm
04:15:21  23:37:34 11 feeder8.news.weretis.net Path element fails to match aliases: weretis.net
08:12:12  08:42:12 9 ecngs.nntp.giganews.com: Connection timed out
05:24:41  23:37:12 8 srv1.nyc.us.weretis.net Path element fails to match aliases: weretis.net
08:26:46  08:26:46 4 nbr.elbracht.net: Remote EOF, attempting to reconnect
08:52:12   1 ecngs.nntp.giganews.com: (unknown error)
08:40:27   1 ecngs-in.feeder.erje.net: Remote EOF, attempting to reconnect
03:24:15   1 DNS Fwd/Rev mismatch: zg-0506a-15.stretchoid.com/192.241.196.136
Goto top of page


Generated on 20220604 2358 by feeder-stats v4.006. Copyright © 2002 The Diablo Project. Valid HTML 4.0!