lots and lots and lots of changes