refactoring RequestPreferences