refactor the zdal-client