chat wrapper