fix some bug, adjust the args