redesigning to split apart api and backbone