add reactive.js dependency
Refactor to use reactive.js