use raf from npm
merge
new demo