As product is no longer an optional argument shouldn't we reorder these calls?