added product key support