updates a lot of things