solver straegy pattern