This still needs tests, but I want to get these changes into develop tonight