Complete change from 2d7e13eb