20140413 v1.0

基本实现，但可能有缺陷，待验证
需要测试