product spec refactored