refactor userpreferenceserver.js