added a lot of changes to everything