added strategy pattern sample