be more careful about prevent default