add data retrieval client; add AbstractClient