everything and lots of changes