query api
add hook