Add a bunch of cool stuff.
fix merge conflic