validate/save/query