Fixed pretty much everything.