add a feature: operating books in db