refactor the backbone router