fix most of the stuff