adding AMD implementation