add promotion functionality