Refactor. extract double buffer pattern
Double Buffer pattern
Update readme
Merge remote-tracking branch 'origin/master'