Lots of various changes