The code's great and provides a good jumping off point, but I thought it needed some updates. Davey's been a busy guy and I had a few free hours every other evening or so for a few, so I decided to start extending it.