fix bug, and change preference more often