完成版本

需要merge jackie代码。