Strategy

2-design

Design

1-strategy

Implement

3-implement