Oops, these functions are not used. [ci skip]