(Requires sharing some code with etclient to avoid duplication.)
(Requires sharing some code with etclient to avoid duplication.)