Lots of random changes. Got carried away.