use constructor for Client