refactored users methods