added backbone and refactored JS models to use