1. insert/delete/update reconstruction
2. add havebook