refactored user spec