refactored user subscriber