implement client dao