Functionality to add/edit books