refactor users module