Some design optimizations
Merge pull request #1 from andystrobel/master

Some design optimizations