fixing a lot of bullshit