Lots of good stuff

See list of commits.