A real huge pull request with lots of stuff