Tons of changes

Some of them are bad.