Major Update

This is everything we have thus far, please make sure this all compiles
together.