Change strategy and introduce DSL