初步的代码，有待修改