implement chat