Design enhancements.

Got to go out now, should be able to do some more in a bit, think the code might be able to improved a bit, not familiar with some of the things you're using.