modified a bunch of stuff