chat with complete functionality