added subtree switch for hierarchy, the rest of hierarchy will be organic
* most classes were just refactored
Merge pull request #537 from jiwalker-usgs/master

sorry for end of friday commit