separate preference into two tasks