bug fixed,add visual mode