improved clarity of productwith, and added a test for that functino