add preference controller