fixed a lot. probably broke some