refactor presenter and view for user settings