bug fixed, v1.1
resolve merge conflict
final