changed a bunch of stuff but err good