A lot of additions/corrections