first design patterns Strategy