I thought this was already committed. just a copy of what's in 4.2 branch