diff --git a/Locale/en.json b/Locale/en.json
old mode 100755
new mode 100644
diff --git a/Locale/it.json b/Locale/it.json
old mode 100755
new mode 100644
index 4477ffb..880b640
--- a/Locale/it.json
+++ b/Locale/it.json
@@ -3,11 +3,11 @@
 		"Ciao {user.mention_markdown_v2()}!"
 	],
 	"help": [
-		"Non c'è nessuno qui ad aiutarti (per ora)."
+		"*Non c'è nessuno qui ad aiutarti (per ora).*"
 	],
 	"echo": {
 		"empty": [
-			"Echo cosa? Dimmi qualcosa da ripetere."
+			"*Echo cosa? Dimmi qualcosa da ripetere.*"
 		]
 	},
 	"wish": {
@@ -20,12 +20,70 @@
 	},
 	"hug": {
 		"empty": [
+			"*Chi vuoi abbracciare? Rispondi a qualcuno.*",
 			"*Un abbraccio a chi? Non hai risposto a nessuno...*"
 		],
-		"bot": [],
-		"self": [],
+		"bot": [
+			"*...Grazie uwu <3*",
+			"*Non puoi abbracciarmi ☁️ :/*"
+		],
+		"self": [
+			"*{0} allunga le braccia attorno a sè, si stringe forte, e si sente ora meno triste.*"
+		],
 		"others": [
-			"*{0} abbraccia {1} forte forte... :3*"
+			"*{0} abbraccia {1} forte forte... :3*",
+			"*{0} ti ha dato un abbraccio!*"
+		]
+	},
+	"pat": {
+		"empty": [
+			"*Chi vuoi accarezzare? Rispondi a qualcuno.*",
+			"*Una carezza a chi? Non hai risposto a nessuno...*"
+		],
+		"bot": [
+			"*Rawrrr xDDdd*",
+			"*Come vuoi accarezzarmi? Vivo nel cloud... :(*"
+		],
+		"self": [
+			"*{0} allunga goffamente la mano dietro di sè per accarezzarsi in testa 🙃*"
+		],
+		"others": [
+			"*{0} fa patpat a {1} ^.^*",
+			"*{0} ti accarezza con dolcezza.*"
+		]
+	},
+	"poke": {
+		"empty": [
+			"*Chi vuoi punzecchiare? Rispondi a qualcuno.*",
+			"*Punzecchiare chi? Non hai risposto a nessuno...*"
+		],
+		"bot": [
+			"*>_< perché?*",
+			"*heh ☁️😌*"
+		],
+		"self": [
+			"*{0} si punzecchia :o*"
+		],
+		"others": [
+			"*{0} punzecchia {1} 👀*",
+			"*{0} ti punzecchia con impertinenza 👉*"
+		]
+	},
+	"cuddle": {
+		"empty": [
+			"*A chi vuoi fare le coccole? Rispondi a qualcuno.*",
+			"*Le coccole? A chi? Non hai risposto a nessuno...*"
+		],
+		"bot": [
+			"*Aww.. grazie :3*",
+			"*Vorrei anche io le coccole ma... ☁️😔*"
+		],
+		"self": [
+			"{0} si stende sul letto e prova a farsi le coccole, per sentirsi meglio."
+		],
+		"others": [
+			"*{0} fa le coccole a {1} 🥰*",
+			"*{0} ti fa le coccole!*"
 		]
 	}
-}
\ No newline at end of file
+}
diff --git a/WinDog.py b/WinDog.py
index d1e5662..c659bbc 100755
--- a/WinDog.py
+++ b/WinDog.py
@@ -2,18 +2,25 @@
 
 import json
 from random import choice, randint
-from telegram import Update, ForceReply
+from telegram import Update, ForceReply, Bot
+from telegram.utils.helpers import escape_markdown
 from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
 from Config import *
 
 Private = {}
 Locale = {}
 
-def MDSanitize(String, Exclude=[]):
-	for c in ['!', '.']:
-		if c not in Exclude:
+def CharEscape(String, Escape=''):
+	if Escape == 'MARKDOWN':
+		return escape_markdown(String, version=2)
+	elif Escape == 'MARKDOWN_SPEECH':
+		for c in '.!()[]':
 			String = String.replace(c, '\\'+c)
-	return String
+		return String
+	else:
+		for c in Escape:
+			String = String.replace(c, '\\'+c)
+		return String
 
 def start(update:Update, context:CallbackContext) -> None:
 	if CmdRestrict(update):
@@ -25,25 +32,25 @@ def start(update:Update, context:CallbackContext) -> None:
 
 def help(update:Update, context:CallbackContext) -> None:
 	if CmdRestrict(update):
-		update.message.reply_text(
-			choice(Locale[Lang]['help']),
+		update.message.reply_markdown_v2(
+			CharEscape(choice(Locale[Lang]['help']), '.!()'),
 			reply_to_message_id=update.message.message_id)
 
 def echo(update:Update, context:CallbackContext) -> None:
 	if CmdRestrict(update):
 		Message = update.message.text
 		if Message.lower()[1:] == 'echo':
-			Text = choice(Locale[Lang]['echo']['empty'])
+			Text = CharEscape(choice(Locale[Lang]['echo']['empty']), '.!')
 		else:
 			Text = Message[5:]
-		update.message.reply_text(
+		update.message.reply_markdown_v2(
 			Text,
 			reply_to_message_id=update.message.message_id)
 
 def ping(update:Update, context:CallbackContext) -> None:
 	if CmdRestrict(update):
-		update.message.reply_text(
-			'Pong!',
+		update.message.reply_markdown_v2(
+			'*Pong\!*',
 			reply_to_message_id=update.message.message_id)
 
 def wish(update:Update, context:CallbackContext) -> None:
@@ -53,22 +60,33 @@ def wish(update:Update, context:CallbackContext) -> None:
 		else:
 			Text = choice(Locale[Lang]['wish']['done'])
 		update.message.reply_markdown_v2(
-			MDSanitize(Text).format(randint(0,100)),
+			CharEscape(Text, '.!').format(str(randint(0,100))+'\.'+str(randint(0,9))+str(randint(0,9))),
 			reply_to_message_id=update.message.message_id)
 
-def hug(update:Update, context:CallbackContext) -> None:
+def multijoke(update:Update, context:CallbackContext) -> None:
 	if CmdRestrict(update):
+		Key = update.message.text.split(' ')[0][1:]
+		ReplyToMessage = update.message.message_id
 		if update.message.reply_to_message:
-			FromUser = update.message.from_user.first_name.replace('.','\.')
-			ToUser = update.message.reply_to_message.from_user.first_name.replace('.','\.')
-			Text = MDSanitize(choice(Locale[Lang]['hug']['others'])).format(FromUser,ToUser)
+			ReplyFromUID = update.message.reply_to_message.from_user.id
+			if ReplyFromUID == TGID:
+				Text = CharEscape(choice(Locale[Lang][Key]['bot']), 'MARKDOWN_SPEECH')
+			elif ReplyFromUID == update.message.from_user.id:
+				FromUName = CharEscape(update.message.from_user.first_name, 'MARKDOWN')
+				Text = CharEscape(choice(Locale[Lang][Key]['self']), 'MARKDOWN_SPEECH').format(FromUName)
+			else:
+				FromUName = CharEscape(update.message.from_user.first_name, 'MARKDOWN')
+				ToUName = CharEscape(update.message.reply_to_message.from_user.first_name, 'MARKDOWN')
+				Text = CharEscape(choice(Locale[Lang][Key]['others']), 'MARKDOWN_SPEECH').format(FromUName,ToUName)
+				ReplyToMessage = update.message.reply_to_message.message_id
 		else:
-			Text = MDSanitize(choice(Locale[Lang]['hug']['empty']))
+			Text = CharEscape(choice(Locale[Lang][Key]['empty']), 'MARKDOWN_SPEECH')
 		update.message.reply_markdown_v2(
 			Text,
-			reply_to_message_id=update.message.message_id)
+			reply_to_message_id=ReplyToMessage)
 
-def filters(update:Update, context:CallbackContext, Private) -> None:
+
+def filters(update:Update, context:CallbackContext) -> None:
 	pass
 	"""
 	if CmdRestrict(update):
@@ -81,7 +99,7 @@ def filters(update:Update, context:CallbackContext, Private) -> None:
 						reply_to_message_id=update.message.message_id)
 	"""
 
-def setfilter(update:Update, context:CallbackContext, Private) -> None:
+def setfilter(update:Update, context:CallbackContext) -> None:
 	pass
 	"""
 	if CmdRestrict(update):
@@ -129,18 +147,17 @@ def main() -> None:
 	dispatcher.add_handler(CommandHandler("echo", echo))
 	dispatcher.add_handler(CommandHandler("ping", ping))
 	dispatcher.add_handler(CommandHandler("wish", wish))
-	dispatcher.add_handler(CommandHandler("hug", hug))
-	#dispatcher.add_handler(CommandHandler("pat", pat))
-	#dispatcher.add_handler(CommandHandler("poke", poke))
-	#dispatcher.add_handler(CommandHandler("cuddle", cuddle))
+	dispatcher.add_handler(CommandHandler("hug", multijoke))
+	dispatcher.add_handler(CommandHandler("pat", multijoke))
+	dispatcher.add_handler(CommandHandler("poke", multijoke))
+	dispatcher.add_handler(CommandHandler("cuddle", multijoke))
 	#dispatcher.add_handler(CommandHandler("setfilter", setfilter))
-	dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, filters, Private))
+	dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, filters))
 
-	print('Starting bot...')
+	print('Starting WinDog...')
 	updater.start_polling()
-
 	updater.idle()
 
 if __name__ == '__main__':
 	main()
-	print('Closing...')
+	print('Closing WinDog...')