Added by Ben Poole almost 16 years ago
code commented and cleaned up. should work but untested.
View differences