refactor users conroller