complete basic backbone refactor