updated a lot of things I guess