add client and impl models, split queryer into builder and queryer