Strategy lets the algorithm vary independently from clients that use it. It changes behavior of an algorithm in terms of argument