add strategy pattern and fix notes