refactor backbone code into multiple files for sanity