user preferences models and apis