client-side backbone implementation