changed a bunch of stuff I guess