client-side backbone implementation - corrected