added product chaining
refactored product chaining to use sequence comprehensions