implement book backend client