changes a bunch of stuff