add preference function