diff --git a/domain_definition.pddl b/domain_definition.pddl
index 43d10f3f9aaec42f45a8fef372dc51a9299b3565..95469242321c130521a5b1e0ae74b1f512a257ec 100644
--- a/domain_definition.pddl
+++ b/domain_definition.pddl
@@ -2,18 +2,12 @@
 	(:requirements :strips)
 	(:requirements :typing)
 	(:requirements :equality)
-	(:requirements :fluents)
-	(:requirements :conditional-effects)
 	
-	(:types p1 - pawn 
-			p2 - pawn
-			user - agent
-			robot - agent
-			)
-			(:predicates 	(at ?x ?y)
+
+	(:predicates
+			(at ?x ?y)
 			(free ?x)
 			(carry ?x ?y ?z)
-			(disability ?x ?y)
 			(piece ?x)
 			(location ?x)
 			(gripper ?x)
@@ -25,7 +19,6 @@
 			(userMove_1 ?x ?z)
 			(userMove_2 ?x ?z)
 			(userMove_3 ?x ?z)
-			(userMove_4 ?x ?z)
 			
 			(allowedMove ?x ?y)
 			(suggestedMove ?x  ?z)
@@ -33,13 +26,11 @@
 			(demonstrateMove ?x ?z)
 
 
-			;;For Gesture Engagement
 			(gestureEngagement)
 			(gestureEngagement_1)
 			(gestureEngagement_2)
 			(gestureEngagement_3)
 
-			;;For Demonstration Engagement
 			(demonstrationEngagement)
 
 			(checkMove_1)
@@ -51,12 +42,10 @@
 			(verbalEngagement_1)
 			(verbalEngagement_2)
 			(verbalEngagement_3)
-			(verbalEngagement_4)
 			
-			(releasedPawn) 
+			(releasedBlock) 
 
 			(encourageUser)
-			(sendTricks)
 			(suggestSubset)
 			(suggestAnswer)
 			(performDemonstration)
@@ -104,36 +93,34 @@
 	)
 
 	(:action   attempt_grab_lev_1
-        :parameters( ?agent ?gripper ?pawn ?from ?to)
-        :precondition(and   (not(gestureEngagement))  (waitForUserMove_1) (not(demonstrationEngagement)) (not(encourageUser)) (verbalEngagement) (at ?pawn ?from) (userMove_1 ?pawn  ?to)   (piece ?pawn)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?pawn ?from ?to)))
-        :effect (and  (not(free ?gripper))  (at ?pawn ?from) (catch ?pawn ?from ?to) (verbalEngagement_1))  
+        :parameters( ?agent ?gripper ?block ?from ?to)
+        :precondition(and   (not(gestureEngagement))  (waitForUserMove_1) (not(demonstrationEngagement)) (not(encourageUser)) (verbalEngagement) (at ?block ?from) (userMove_1 ?block  ?to)   (piece ?block)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?block ?from ?to)))
+        :effect (and  (not(free ?gripper))  (at ?block ?from) (catch ?block ?from ?to) (verbalEngagement_1))  
     )
     
 	(:action 	attempt_move_lev_1
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition(and  (verbalEngagement_1)  (location ?from) (location ?to)  (free_loc ?to)  (agent ?agent) (catch ?pawn ?from ?to) (userMove_1 ?pawn  ?to))  
-		:effect (and    (not(checkMove_1))  (free_loc ?to) (not(at ?pawn ?from)) (carry ?agent ?gripper ?pawn))
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition(and  (verbalEngagement_1)  (location ?from) (location ?to)  (free_loc ?to)  (agent ?agent) (catch ?block ?from ?to) (userMove_1 ?block  ?to))  
+		:effect (and    (not(checkMove_1))  (free_loc ?to) (not(at ?block ?from)) (carry ?agent ?gripper ?block))
 	)
 
     (:action check_user_move_allowed_1
-		:parameters( ?pawn ?from ?to)
-		:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_1)) (catch ?pawn ?from ?to)   (userMove_1 ?pawn  ?to) (allowedMove ?pawn ?to) )
+		:parameters( ?block ?from ?to)
+		:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_1)) (catch ?block ?from ?to)   (userMove_1 ?block  ?to) (allowedMove ?block ?to) )
 		:effect(and  (firstAttempt) (rightMove_1) (not(waitForUserMove_1)) (checkMove_1))
 		
 	)
 
 	(:action check_user_move_not_right_1
-		:parameters( ?pawn ?from ?to)
-		:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_1)) (catch ?pawn ?from ?to)  (userMove_1 ?pawn  ?to) (not(allowedMove ?pawn ?to) ) )
-		;:effect  (and(not(rightMove_1)) (firstAttempt)) 
-		:effect(DEBUG)
+		:parameters( ?block ?from ?to)
+		:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_1)) (catch ?block ?from ?to)  (userMove_1 ?block  ?to) (not(allowedMove ?block ?to) ) )
+		:effect  (and(not(rightMove_1)) (firstAttempt)) 
 	)
 
 	(:action release_lev_1_correct_position
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition (and (piece ?pawn) (rightMove_1) (checkMove_1) (firstAttempt)  (allowedMove ?pawn ?to) (not(waitForUserMove_1)) (not(secondAttempt)) (userMove_1 ?pawn ?to) (not(gestureEngagement)) (agent ?agent) (catch ?pawn ?from ?to) (location ?from)  (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to))  (carry ?agent ?gripper ?pawn))
-		;:effect(and (at ?pawn ?to)  (free ?gripper) (not(select ?pawn ?to)) (not(free_loc ?to)) (not(catch ?pawn ?from ?to)) (not(carry ?agent ?gripper ?pawn)))
-		:effect (and (rightMove_1) (at ?pawn ?to)  (releasedPawn))
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition (and (piece ?block) (rightMove_1) (checkMove_1) (firstAttempt)  (allowedMove ?block ?to) (not(waitForUserMove_1)) (not(secondAttempt)) (userMove_1 ?block ?to) (not(gestureEngagement)) (agent ?agent) (catch ?block ?from ?to) (location ?from)  (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to))  (carry ?agent ?gripper ?block))
+		:effect (and (rightMove_1) (at ?block ?to)  (releasedBlock))
 	)
 
 ;;;///***********************************************SECOND ATTEMPT ************************************************************************/
@@ -146,42 +133,41 @@
 	)
 	
 	(:action suggest_subsets_user_only_lev_2
-		:parameters( ?pawn ?from ?to_1 ?to_2 ?to_3)
-		:precondition(and   (not(suggestSubset)) (verbalEngagement_2) (not(waitForUserMove_2)) (not(= ?to_1 ?to_2)) (not(= ?to_1 ?to_3)) (not(= ?to_2 ?to_3))  (location ?to_2) (location ?to_3) (suggestedMove ?pawn  ?to_1) (suggestedMove ?pawn  ?to_2) (suggestedMove ?pawn  ?to_3)   (piece ?pawn))
+		:parameters( ?block ?from ?to_1 ?to_2 ?to_3)
+		:precondition(and   (not(suggestSubset)) (verbalEngagement_2) (not(waitForUserMove_2)) (not(= ?to_1 ?to_2)) (not(= ?to_1 ?to_3)) (not(= ?to_2 ?to_3))  (location ?to_2) (location ?to_3) (suggestedMove ?block  ?to_1) (suggestedMove ?block  ?to_2) (suggestedMove ?block  ?to_3)   (piece ?block))
 		:effect(and (waitForUserMove_2) (verbalEngagement)(suggestSubset))
 		
 	)
 
 	(:action   attempt_grab_lev_2
-        :parameters( ?agent ?gripper ?pawn ?from ?to)
-        :precondition(and   (not(gestureEngagement))  (waitForUserMove_2) (not(demonstrationEngagement_2))  (suggestSubset)  (at ?pawn ?from) (userMove_2 ?pawn  ?to)   (piece ?pawn)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?pawn ?from ?to)))
-        :effect (and  (not(free ?gripper))  (at ?pawn ?from) (location ?to) (catch ?pawn ?from ?to) (verbalEngagement_2) )
+        :parameters( ?agent ?gripper ?block ?from ?to)
+        :precondition(and   (not(gestureEngagement))  (waitForUserMove_2) (not(demonstrationEngagement_2))  (suggestSubset)  (at ?block ?from) (userMove_2 ?block  ?to)   (piece ?block)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?block ?from ?to)))
+        :effect (and  (not(free ?gripper))  (at ?block ?from) (location ?to) (catch ?block ?from ?to) (verbalEngagement_2) )
         
     )
     
 	(:action 	attempt_move_lev_2
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition(and (location ?from) (verbalEngagement_2)   (location ?to)  (free_loc ?to)   (agent ?agent) (catch ?pawn ?from ?to) (userMove_2 ?pawn  ?to))  
-		:effect (and    (not(checkMove_2))  (free_loc ?to) (not(at ?pawn ?from))(carry ?agent ?gripper ?pawn) (select ?pawn ?to)  )	
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition(and (location ?from) (verbalEngagement_2)   (location ?to)  (free_loc ?to)   (agent ?agent) (catch ?block ?from ?to) (userMove_2 ?block  ?to))  
+		:effect (and    (not(checkMove_2))  (free_loc ?to) (not(at ?block ?from))(carry ?agent ?gripper ?block) (select ?block ?to)  )	
 	)
 
     (:action check_user_move_allowed_2
-		:parameters( ?pawn ?from ?to)
-		:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_2)) (catch ?pawn ?from ?to)   (userMove_2 ?pawn  ?to) (allowedMove ?pawn ?to) )
+		:parameters( ?block ?from ?to)
+		:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_2)) (catch ?block ?from ?to)   (userMove_2 ?block  ?to) (allowedMove ?block ?to) )
 		:effect(and  (firstAttempt) (rightMove_2) (not(waitForUserMove_2)) (checkMove_2))		
 	)
 
 	(:action check_user_move_not_right_2
-		:parameters( ?pawn ?from ?to)
-		:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_2)) (catch ?pawn ?from ?to)  (userMove_2 ?pawn  ?to) (not(allowedMove ?pawn ?to) ) )
+		:parameters( ?block ?from ?to)
+		:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_2)) (catch ?block ?from ?to)  (userMove_2 ?block  ?to) (not(allowedMove ?block ?to) ) )
 		:effect(and  (not(rightMove_2))(secondAttempt) )	
 	)
 
 	(:action release_lev_2_correct_position
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition (and (piece ?pawn) (rightMove_2) (checkMove_2) (firstAttempt) (not(demonstrationEngagement))  (allowedMove ?pawn ?to) (not(waitForUserMove_2)) (not(secondAttempt)) (userMove_2 ?pawn ?to)  (agent ?agent) (catch ?pawn ?from ?to) (location ?from) (select ?pawn ?to)  (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to))  (carry ?agent ?gripper ?pawn))
-		;:effect(and (at ?pawn ?to)  (free ?gripper) (not(select ?pawn ?to)) (not(free_loc ?to)) (not(catch ?pawn ?from ?to)) (not(carry ?agent ?gripper ?pawn)))
-		:effect (and (rightMove_1) (at ?pawn ?to)  (releasedPawn))
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition (and (piece ?block) (rightMove_2) (checkMove_2) (firstAttempt) (not(demonstrationEngagement))  (allowedMove ?block ?to) (not(waitForUserMove_2)) (not(secondAttempt)) (userMove_2 ?block ?to)  (agent ?agent) (catch ?block ?from ?to) (location ?from) (select ?block ?to)  (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to))  (carry ?agent ?gripper ?block))
+		:effect (and (rightMove_1) (at ?block ?to)  (releasedBlock))
 	)
 
 
@@ -196,42 +182,41 @@
 	)
 	
 	(:action suggest_solution_user_only_lev_3
-		:parameters( ?pawn ?from ?to)
-		:precondition(and (location ?from) (location ?to) (not(waitForUserMove_3)) (verbalEngagement_3)  (not(suggestAnswer)) (suggestSolution ?pawn  ?to)   (piece ?pawn))
+		:parameters( ?block ?from ?to)
+		:precondition(and (location ?from) (location ?to) (not(waitForUserMove_3)) (verbalEngagement_3)  (not(suggestAnswer)) (suggestSolution ?block  ?to)   (piece ?block))
 		:effect(and (waitForUserMove_3) (verbalEngagement) (suggestAnswer))
 	) 
 
 	(:action   attempt_grab_lev_3
-        :parameters( ?agent ?gripper ?pawn ?from ?to)
-        :precondition(and   (not(gestureEngagement))  (waitForUserMove_3) (not(demonstrationEngagement)) (suggestAnswer) (verbalEngagement) (at ?pawn ?from) (userMove_3 ?pawn  ?to)   (piece ?pawn)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?pawn ?from ?to)))
-        :effect (and  (not(free ?gripper))  (at ?pawn ?from) (location ?to) (catch ?pawn ?from ?to) (verbalEngagement_3) )
+        :parameters( ?agent ?gripper ?block ?from ?to)
+        :precondition(and   (not(gestureEngagement))  (waitForUserMove_3) (not(demonstrationEngagement)) (suggestAnswer) (verbalEngagement) (at ?block ?from) (userMove_3 ?block  ?to)   (piece ?block)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?block ?from ?to)))
+        :effect (and  (not(free ?gripper))  (at ?block ?from) (location ?to) (catch ?block ?from ?to) (verbalEngagement_3) )
 
     )
     
 	(:action 	attempt_move_lev_3
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition(and (location ?from) (verbalEngagement_3)   (location ?to)  (free_loc ?to)   (agent ?agent) (catch ?pawn ?from ?to) (userMove_3 ?pawn  ?to))  
-		:effect (and    (not(checkMove_3))  (free_loc ?to) (not(at ?pawn ?from))(carry ?agent ?gripper ?pawn)  )
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition(and (location ?from) (verbalEngagement_3)   (location ?to)  (free_loc ?to)   (agent ?agent) (catch ?block ?from ?to) (userMove_3 ?block  ?to))  
+		:effect (and    (not(checkMove_3))  (free_loc ?to) (not(at ?block ?from))(carry ?agent ?gripper ?block)  )
 
 	)
 
     (:action check_user_move_allowed_3
-		:parameters( ?pawn ?from ?to)
-		:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_3)) (catch ?pawn ?from ?to)   (userMove_3 ?pawn  ?to) (allowedMove ?pawn ?to) )
+		:parameters( ?block ?from ?to)
+		:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_3)) (catch ?block ?from ?to)   (userMove_3 ?block  ?to) (allowedMove ?block ?to) )
 		:effect(and  (firstAttempt) (rightMove_3) (not(waitForUserMove_3)) (checkMove_3))	
 	)
 
 	(:action check_user_move_not_right_3
-		:parameters( ?pawn ?from ?to)
-		:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_3)) (catch ?pawn ?from ?to)  (userMove_3 ?pawn  ?to) (not(allowedMove ?pawn ?to) ) )
+		:parameters( ?block ?from ?to)
+		:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_3)) (catch ?block ?from ?to)  (userMove_3 ?block  ?to) (not(allowedMove ?block ?to) ) )
 		:effect(and  (not(rightMove_3))(thirdAttempt) )	
 	)
 
 	(:action release_lev_3_correct_position
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition (and (piece ?pawn) (rightMove_3) (checkMove_3) (firstAttempt)  (allowedMove ?pawn ?to) (not(waitForUserMove_3)) (not(secondAttempt)) (userMove_3 ?pawn ?to) (not(gestureEngagement)) (agent ?agent) (catch ?pawn ?from ?to) (location ?from)   (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to))  (carry ?agent ?gripper ?pawn))
-		;:effect(and (at ?pawn ?to)  (free ?gripper) (not(select ?pawn ?to)) (not(free_loc ?to)) (not(catch ?pawn ?from ?to)) (not(carry ?agent ?gripper ?pawn)))
-		:effect (and (rightMove_3) (at ?pawn ?to)  (releasedPawn))
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition (and (piece ?block) (rightMove_3) (checkMove_3) (firstAttempt)  (allowedMove ?block ?to) (not(waitForUserMove_3)) (not(secondAttempt)) (userMove_3 ?block ?to) (not(gestureEngagement)) (agent ?agent) (catch ?block ?from ?to) (location ?from)   (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to))  (carry ?agent ?gripper ?block))
+		:effect (and (rightMove_3) (at ?block ?to)  (releasedBlock))
 	)
 
 
@@ -250,36 +235,34 @@
 	)
 
 	(:action   attempt_grab_lev_1
-        :parameters( ?agent ?gripper ?pawn ?from ?to)
-        :precondition(and   (not(verbalEngagement))  (waitForUserMove_1) (not(demonstrationEngagement)) (not(encourageUser)) (gestureEngagement) (at ?pawn ?from) (userMove_1 ?pawn  ?to)   (piece ?pawn)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?pawn ?from ?to)))
-        :effect (and  (not(free ?gripper))  (at ?pawn ?from) (catch ?pawn ?from ?to) (gestureEngagement_1))  
+        :parameters( ?agent ?gripper ?block ?from ?to)
+        :precondition(and   (not(verbalEngagement))  (waitForUserMove_1) (not(demonstrationEngagement)) (not(encourageUser)) (gestureEngagement) (at ?block ?from) (userMove_1 ?block  ?to)   (piece ?block)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?block ?from ?to)))
+        :effect (and  (not(free ?gripper))  (at ?block ?from) (catch ?block ?from ?to) (gestureEngagement_1))  
     )
     
 	(:action 	attempt_move_lev_1
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition(and  (gestureEngagement_1)  (location ?from) (location ?to)  (free_loc ?to)  (agent ?agent) (catch ?pawn ?from ?to) (userMove_1 ?pawn  ?to))  
-		:effect (and    (not(checkMove_1))  (free_loc ?to) (not(at ?pawn ?from)) (carry ?agent ?gripper ?pawn))
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition(and  (gestureEngagement_1)  (location ?from) (location ?to)  (free_loc ?to)  (agent ?agent) (catch ?block ?from ?to) (userMove_1 ?block  ?to))  
+		:effect (and(not(checkMove_1))  (free_loc ?to) (not(at ?block ?from)) (carry ?agent ?gripper ?block))
 	)
 
     (:action check_user_move_allowed_1
-		:parameters( ?pawn ?from ?to)
-		:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_1)) (catch ?pawn ?from ?to)   (userMove_1 ?pawn  ?to) (allowedMove ?pawn ?to) )
+		:parameters( ?block ?from ?to)
+		:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_1)) (catch ?block ?from ?to)   (userMove_1 ?block  ?to) (allowedMove ?block ?to) )
 		:effect(and  (firstAttempt) (rightMove_1) (not(waitForUserMove_1)) (checkMove_1))
 		
 	)
 
 	(:action check_user_move_not_right_1
-		:parameters( ?pawn ?from ?to)
-		:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_1)) (catch ?pawn ?from ?to)  (userMove_1 ?pawn  ?to) (not(allowedMove ?pawn ?to) ) )
-		;:effect  (and(not(rightMove_1)) (firstAttempt)) 
-		:effect(DEBUG)
+		:parameters( ?block ?from ?to)
+		:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_1)) (catch ?block ?from ?to)  (userMove_1 ?block  ?to) (not(allowedMove ?block ?to) ) )
+		:effect  (and(not(rightMove_1)) (firstAttempt)) 
 	)
 
 	(:action release_lev_1_correct_position
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition (and (piece ?pawn) (rightMove_1) (checkMove_1) (firstAttempt)  (allowedMove ?pawn ?to) (not(waitForUserMove_1)) (not(secondAttempt)) (userMove_1 ?pawn ?to) (not(gestureEngagement)) (agent ?agent) (catch ?pawn ?from ?to) (location ?from)  (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to))  (carry ?agent ?gripper ?pawn))
-		;:effect(and (at ?pawn ?to)  (free ?gripper) (not(select ?pawn ?to)) (not(free_loc ?to)) (not(catch ?pawn ?from ?to)) (not(carry ?agent ?gripper ?pawn)))
-		:effect (and (rightMove_1) (at ?pawn ?to)  (releasedPawn))
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition (and (piece ?block) (rightMove_1) (checkMove_1) (firstAttempt)  (allowedMove ?block ?to) (not(waitForUserMove_1)) (not(secondAttempt)) (userMove_1 ?block ?to) (not(gestureEngagement)) (agent ?agent) (catch ?block ?from ?to) (location ?from)  (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to))  (carry ?agent ?gripper ?block))
+		:effect (and (rightMove_1) (at ?block ?to)  (releasedBlock))
 	)
 
 ;;;///***********************************************SECOND ATTEMPT ************************************************************************/
@@ -292,41 +275,41 @@
 	)
 	
 	(:action point_out_area_only_lev_2
-		:parameters( ?pawn ?from ?to_1 ?to_2 ?to_3)
-		:precondition(and   (not(suggestSubset)) (gestureEngagement_2) (not(waitForUserMove_2)) (not(= ?to_1 ?to_2)) (not(= ?to_1 ?to_3)) (not(= ?to_2 ?to_3))  (location ?to_2) (location ?to_3) (suggestedMove ?pawn  ?to_1) (suggestedMove ?pawn  ?to_2) (suggestedMove ?pawn  ?to_3)   (piece ?pawn))
+		:parameters( ?block ?from ?to_1 ?to_2 ?to_3)
+		:precondition(and   (not(suggestSubset)) (gestureEngagement_2) (not(waitForUserMove_2)) (not(= ?to_1 ?to_2)) (not(= ?to_1 ?to_3)) (not(= ?to_2 ?to_3))  (location ?to_2) (location ?to_3) (suggestedMove ?block  ?to_1) (suggestedMove ?block  ?to_2) (suggestedMove ?block  ?to_3)   (piece ?block))
 		:effect(and (waitForUserMove_2) (gestureEngagement)(suggestSubset))
 		
 	)
 
 	(:action   attempt_grab_lev_2
-        :parameters( ?agent ?gripper ?pawn ?from ?to)
-        :precondition(and   (not(verbalEngagement))  (waitForUserMove_2) (not(demonstrationEngagement)  (suggestSubset)  (at ?pawn ?from) (userMove_2 ?pawn  ?to)   (piece ?pawn)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?pawn ?from ?to))))
-        :effect (and  (not(free ?gripper))  (at ?pawn ?from) (location ?to) (catch ?pawn ?from ?to) (verbalEngagement_2))
+        :parameters( ?agent ?gripper ?block ?from ?to)
+        :precondition(and   (not(verbalEngagement))  (waitForUserMove_2) (not(demonstrationEngagement)  (suggestSubset)  (at ?block ?from) (userMove_2 ?block  ?to)   (piece ?block)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?block ?from ?to))))
+        :effect (and  (not(free ?gripper))  (at ?block ?from) (location ?to) (catch ?block ?from ?to) (verbalEngagement_2))
         
     )
     
 	(:action 	attempt_move_lev_2
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition(and (location ?from) (gestureEngagement_2)   (location ?to)  (free_loc ?to)   (agent ?agent) (catch ?pawn ?from ?to) (userMove_2 ?pawn  ?to))  
-		:effect (and    (not(checkMove_2))  (free_loc ?to) (not(at ?pawn ?from))(carry ?agent ?gripper ?pawn) (select ?pawn ?to)  )	
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition(and (location ?from) (gestureEngagement_2)   (location ?to)  (free_loc ?to)   (agent ?agent) (catch ?block ?from ?to) (userMove_2 ?block  ?to))  
+		:effect (and    (not(checkMove_2))  (free_loc ?to) (not(at ?block ?from))(carry ?agent ?gripper ?block) (select ?block ?to)  )	
 	)
 
     (:action check_user_move_allowed_2
-		:parameters( ?pawn ?from ?to)
-		:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_2)) (catch ?pawn ?from ?to)   (userMove_2 ?pawn  ?to) (allowedMove ?pawn ?to) )
+		:parameters( ?block ?from ?to)
+		:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_2)) (catch ?block ?from ?to)   (userMove_2 ?block  ?to) (allowedMove ?block ?to) )
 		:effect(and  (firstAttempt) (rightMove_2) (not(waitForUserMove_2)) (checkMove_2))		
 	)
 
 	(:action check_user_move_not_right_2
-		:parameters( ?pawn ?from ?to)
-		:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_2)) (catch ?pawn ?from ?to)  (userMove_2 ?pawn  ?to) (not(allowedMove ?pawn ?to) ) )
+		:parameters( ?block ?from ?to)
+		:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_2)) (catch ?block ?from ?to)  (userMove_2 ?block  ?to) (not(allowedMove ?block ?to) ) )
 		:effect(and  (not(rightMove_2))(secondAttempt) )	
 	)
 
 	(:action release_lev_2_correct_position
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition (and (piece ?pawn) (rightMove_2) (checkMove_2) (firstAttempt) (not(demonstrationEngagement))  (allowedMove ?pawn ?to) (not(waitForUserMove_2)) (not(secondAttempt)) (userMove_2 ?pawn ?to)  (agent ?agent) (catch ?pawn ?from ?to) (location ?from) (select ?pawn ?to)  (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to))  (carry ?agent ?gripper ?pawn))
-		:effect (and (rightMove_1) (at ?pawn ?to)  (releasedPawn))
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition (and (piece ?block) (rightMove_2) (checkMove_2) (firstAttempt) (not(demonstrationEngagement))  (allowedMove ?block ?to) (not(waitForUserMove_2)) (not(secondAttempt)) (userMove_2 ?block ?to)  (agent ?agent) (catch ?block ?from ?to) (location ?from) (select ?block ?to)  (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to))  (carry ?agent ?gripper ?block))
+		:effect (and (rightMove_1) (at ?block ?to)  (releasedBlock))
 	)
 
 
@@ -341,41 +324,41 @@
 	)
 	
 	(:action point_out_solution_only_lev_3
-		:parameters( ?pawn ?from ?to)
-		:precondition(and (location ?from) (location ?to) (not(waitForUserMove_3)) (gestureEngagement_3)  (not(suggestAnswer)) (suggestSolution ?pawn  ?to)   (piece ?pawn))
+		:parameters( ?block ?from ?to)
+		:precondition(and (location ?from) (location ?to) (not(waitForUserMove_3)) (gestureEngagement_3)  (not(suggestAnswer)) (suggestSolution ?block  ?to)   (piece ?block))
 		:effect(and (waitForUserMove_3) (gestureEngagement) (suggestAnswer))
 	) 
 
 	(:action   attempt_grab_lev_3
-        :parameters( ?agent ?gripper ?pawn ?from ?to)
-        :precondition(and   (not(verbalEngagement))  (waitForUserMove_3) (not(demonstrationEngagement)) (suggestAnswer) (gestureEngagement) (at ?pawn ?from) (userMove_3 ?pawn  ?to)   (piece ?pawn)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?pawn ?from ?to)))
-        :effect (and  (not(free ?gripper))  (at ?pawn ?from) (location ?to) (catch ?pawn ?from ?to) (gestureEngagement_3) )
+        :parameters( ?agent ?gripper ?block ?from ?to)
+        :precondition(and   (not(verbalEngagement))  (waitForUserMove_3) (not(demonstrationEngagement)) (suggestAnswer) (gestureEngagement) (at ?block ?from) (userMove_3 ?block  ?to)   (piece ?block)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?block ?from ?to)))
+        :effect (and  (not(free ?gripper))  (at ?block ?from) (location ?to) (catch ?block ?from ?to) (gestureEngagement_3) )
 
     )
     
 	(:action 	attempt_move_lev_3
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition(and (location ?from) (gestureEngagement_3)   (location ?to)  (free_loc ?to)   (agent ?agent) (catch ?pawn ?from ?to) (userMove_3 ?pawn  ?to))  
-		:effect (and    (not(checkMove_3))  (free_loc ?to) (not(at ?pawn ?from))(carry ?agent ?gripper ?pawn)  )
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition(and (location ?from) (gestureEngagement_3)   (location ?to)  (free_loc ?to)   (agent ?agent) (catch ?block ?from ?to) (userMove_3 ?block  ?to))  
+		:effect (and    (not(checkMove_3))  (free_loc ?to) (not(at ?block ?from))(carry ?agent ?gripper ?block)  )
 
 	)
 
     (:action check_user_move_allowed_3
-		:parameters( ?pawn ?from ?to)
-		:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_3)) (catch ?pawn ?from ?to)   (userMove_3 ?pawn  ?to) (allowedMove ?pawn ?to) )
+		:parameters( ?block ?from ?to)
+		:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_3)) (catch ?block ?from ?to)   (userMove_3 ?block  ?to) (allowedMove ?block ?to) )
 		:effect(and  (firstAttempt) (rightMove_3) (not(waitForUserMove_3)) (checkMove_3))	
 	)
 
 	(:action check_user_move_not_right_3
-		:parameters( ?pawn ?from ?to)
-		:precondition(and(piece ?pawn) (location ?from) (location ?to) (not(checkMove_3)) (catch ?pawn ?from ?to)  (userMove_3 ?pawn  ?to) (not(allowedMove ?pawn ?to) ) )
+		:parameters( ?block ?from ?to)
+		:precondition(and(piece ?block) (location ?from) (location ?to) (not(checkMove_3)) (catch ?block ?from ?to)  (userMove_3 ?block  ?to) (not(allowedMove ?block ?to) ) )
 		:effect(and  (not(rightMove_3))(thirdAttempt) )	
 	)
 
 	(:action release_lev_3_correct_position
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition (and (piece ?pawn) (rightMove_3) (checkMove_3) (firstAttempt)  (allowedMove ?pawn ?to) (not(waitForUserMove_3)) (not(secondAttempt)) (userMove_3 ?pawn ?to) (not(verbalEngagement)) (agent ?agent) (catch ?pawn ?from ?to) (location ?from)   (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to))  (carry ?agent ?gripper ?pawn))
-		:effect (and (rightMove_3) (at ?pawn ?to)  (releasedPawn))
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition (and (piece ?block) (rightMove_3) (checkMove_3) (firstAttempt)  (allowedMove ?block ?to) (not(waitForUserMove_3)) (not(secondAttempt)) (userMove_3 ?block ?to) (not(verbalEngagement)) (agent ?agent) (catch ?block ?from ?to) (location ?from)   (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to))  (carry ?agent ?gripper ?block))
+		:effect (and (rightMove_3) (at ?block ?to)  (releasedBlock))
 	)
 
 
@@ -391,31 +374,29 @@
 	)
 	
 	(:action demonstrate_how_to_perform_move
-		:parameters( ?pawn ?from ?to)
-		:precondition(and (location ?from) (location ?to) (verbalEngagement_4)  (not(performDemonstration)) (demonstrateMove ?pawn  ?to)   (piece ?pawn))
-		;:effect(and (suggestSubset) (verbalEngagement_2) (not(waitForUserMove_2)) )
+		:parameters( ?block ?from ?to)
+		:precondition(and (location ?from) (location ?to) (verbalEngagement_4)  (not(performDemonstration)) (demonstrateMove ?block  ?to)   (piece ?block))
 		:effect(and (waitForUserMove_4) (verbalEngagement))
 	)
 
 	(:action   grab_lev_4
-        :parameters( ?agent ?gripper ?pawn ?from ?to)
-        :precondition(and   (not(gestureEngagement))  (waitForUserMove_4) (not(demonstrationEngagement)) (not(performDemonstration))(verbalEngagement_4) (verbalEngagement) (at ?pawn ?from) (demonstrateMove ?pawn  ?to)   (piece ?pawn)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?pawn ?from ?to)))
-        :effect (and  (not(free ?gripper))  (at ?pawn ?from) (location ?to) (catch ?pawn ?from ?to) (not(verbalEngagement_4)) )
+        :parameters( ?agent ?gripper ?block ?from ?to)
+        :precondition(and   (not(gestureEngagement))  (waitForUserMove_4) (not(demonstrationEngagement)) (not(performDemonstration))(verbalEngagement_4) (verbalEngagement) (at ?block ?from) (demonstrateMove ?block  ?to)   (piece ?block)  (agent ?agent)   (location ?to) (location ?from)  (not(free_loc ?from)) (gripper ?gripper)    (not(catch ?block ?from ?to)))
+        :effect (and  (not(free ?gripper))  (at ?block ?from) (location ?to) (catch ?block ?from ?to) (not(verbalEngagement_4)) )
 
     )
     
 	(:action 	move_lev_4
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition(and (location ?from) (not(verbalEngagement_4)) (location ?to)  (free_loc ?to)   (agent ?agent) (catch ?pawn ?from ?to) (demonstrateMove ?pawn  ?to))  
-		:effect (and    (not(checkMove_4))  (free_loc ?to) (not(at ?pawn ?from))(carry ?agent ?gripper ?pawn) (select ?pawn ?to)  )
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition(and (location ?from) (not(verbalEngagement_4)) (location ?to)  (free_loc ?to)   (agent ?agent) (catch ?block ?from ?to) (demonstrateMove ?block  ?to))  
+		:effect (and    (not(checkMove_4))  (free_loc ?to) (not(at ?block ?from))(carry ?agent ?gripper ?block) (select ?block ?to)  )
 		
 	)
 
 	(:action release_lev_4_correct_position
-		:parameters( ?agent ?gripper ?pawn ?from ?to)
-		:precondition (and (piece ?pawn)  (not(checkMove_4))  (demonstrateMove ?pawn  ?to) (allowedMove ?pawn ?to)  (not(gestureEngagement)) (agent ?agent) (catch ?pawn ?from ?to) (location ?from) (select ?pawn ?to)  (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?pawn ?to))  (carry ?agent ?gripper ?pawn))
-		;:effect(and (at ?pawn ?to)  (free ?gripper) (not(select ?pawn ?to)) (not(free_loc ?to)) (not(catch ?pawn ?from ?to)) (not(carry ?agent ?gripper ?pawn)))
-		:effect (and (rightMove_4) (at ?pawn ?to)  (releasedPawn))
+		:parameters( ?agent ?gripper ?block ?from ?to)
+		:precondition (and (piece ?block)  (not(checkMove_4))  (demonstrateMove ?block  ?to) (allowedMove ?block ?to)  (not(gestureEngagement)) (agent ?agent) (catch ?block ?from ?to) (location ?from) (select ?block ?to)  (free_loc ?to) (not(free ?gripper)) (gripper ?gripper) (location ?to) (not(at ?block ?to))  (carry ?agent ?gripper ?block))
+		:effect (and (rightMove_4) (at ?block ?to)  (releasedBlock))
 
 	)