Added Brandon's work so that it's known this was his large contribution to the foundation of this. Most basic functionality now exists.