Review

a lot of code changed
I would create a separate PreferencesConstants to make this class simplier