Big commit, many interesting things.