Added the Strategy pattern