add strategy pattern note and implementation.