Reworked a lot of stuff.