Lots of litte changes and adds