So I take it that this is still a work in progress correct? Looks like you're off to a good start so far...
I've got some suggestions, but I'd rather PM you them later when I gather them together and write them up for your review. ;)
Respectfully,
Henry