product adapter