1. JOIN

2. ACCUMULATE

3. DISCOUNT