users refactoring