some refactoring, checkout page in progress, added new class UserSettings implements BaseUserSettings