more implementation in chat