2nd version of Strategy pattern - updated