Uses source undo.js lib instead of fork