Lots of additions
A few small changes