Forgot to add "ip20 code originally from Steve Rumble, with modifications by myself. All bugs are therefore mine." -- Chris GPG key FEB9DE7F (91AF 4534 4529 4BCC 31A5 938E 023E EEFB FEB9 DE7F)