update stragegy pattern