Lots of changes

Lots of changes