Refactor follow.js to use promises