Strategy design pattern added.