Initial push.
Added 99% of the stuff.