Should've merged earlier this week.  Most of this work is thanks to Dorimanx