Dev

Refactor the strategy pattern