refactored user watch