Added first draft of Strategy pattern