let widget work and callback work well
add book define