lots and lots of changes