其它一些地方的零零散散的代码挪到这里来。