fix bug 1~3