make preference controller and views