fix a lot of thing