Added strategy and it's implementation