fix all the bug