Major Update

Too much to talk about but this is the final working version.