refactored user_spec