fixed #3, passing product code to download to allow caching based on code