Strategy pattern

GLM