added program._client draft