v1.0; Functional but could use a few modularity tweaks