Lots of little changes and additions