diff --git a/psGrammar/tasks/gpsr/eegpsr23.jsgf b/psGrammar/tasks/gpsr/eegpsr23.jsgf
index 8b3b4a699617c7168708025bc0384eb7d04c58b7..6b51b1c96c4817219dcde8b3f77212d72a90d7c9 100644
--- a/psGrammar/tasks/gpsr/eegpsr23.jsgf
+++ b/psGrammar/tasks/gpsr/eegpsr23.jsgf
@@ -4,7 +4,7 @@ grammar speechRecognition;
 
 public <sentence> 		= [could you | robot | tobi | tiago] [please] <command> [please] ;
 
-<command>               = <CMDcountObj> | <CMDtransferObj> | <CMDfollow> | <CMDcountPpl> | <cmdfndppl> | <cmdfndobj> | <cmdguide> | <cmdfollow> | <cmdfollowout> | <cmdincomplete> | <cmdman> | <complexman>;
+<command>               = <CMDcountObj> | <CMDtransferObj> | <CMDfollow> | <CMDcountPpl> | <CMDoffer> | <cmdfndppl> | <cmdfndobj> | <cmdguide> | <cmdfollow> | <cmdfollowout> | <cmdincomplete> | <cmdman> | <complexman>;
 
 <CMDcountObj>              = (<V_count> <NP_category> (items | objects) at <NP_placement> and (inform | (report to))  <NP_me>) | (<V_count> <NP_category> (items | objects) are in <NP_placement>);
 
@@ -14,13 +14,14 @@ public <sentence> 		= [could you | robot | tobi | tiago] [please] <command> [ple
 
 <CMDcountPpl>             = (<V_count> ((<N_posture> <NP_agegenderpersonplural>) | (<NP_agegenderpersonplural> [are] <N_gesture>)) [there are] in <NP_room>) | (<V_count> <NP_agegenderpersonplural> in <NP_room> are (<N_posture> | <N_gesture>));
 
+<CMDoffer>              = <V_offer> something to <eatdrink> to all (([the] <N_posture> <NP_agegenderpersonplural>) | (<NP_agegenderpersonplural> [are] <N_gesture>)) in <NP_room>;
+
 <cmdfndppl> 			= <countPrsInRoom> | <talkInfoToGestPrsInRoom> | (<findPrsInRoom> and <answerQuestion>) | (<goToLoc> <findPrs> and (<answerQuestion> | <talkInfo>)) | (<answerToGestPrsInRoom>);
 
 <cmdfndobj> 			= <findObjInRoom> | <countObjOnPlcmt> | <tellObjPropOnPlcmt> | <findThreeObjInRoom>;
 
 <cmdguide> 			= <guideNameFromBeacToBeac> | (<meetPrsAtBeac> and <guidePronToBeacon>) | (<goToLoc> <meetName> and <guidePronToBeacon>) | <guideNameToBeacFindAtBeac>;
 
-
 <cmdfollow> 			= <followNameFromBeacToRoom> | (<meetPrsAtBeac> and <followPrsToRoom>) | (<goToLoc> <meetName> and (<followPrs> | <followPrsToRoom>));
 
 <cmdfollowout> 		= <meetPrsAtBeac> <followPrs> and (<goToLoc> | <guidePronBack>);
@@ -29,7 +30,7 @@ public <sentence> 		= [could you | robot | tobi | tiago] [please] <command> [ple
 
 <cmdman> 			= <bringMeObjFromPlcmt> | (<takeObjFromPlcmt> and (<deliverObjPronToMe> | <deliverObjToNameAtBeac>)) | ((<takeObjFromPlcmt> | <takeObj>) and <placeObjPronOnPlcmt>) | <deliverObjToGestPrsInRoom> | <bringMeObj> | (<goToLoc> <findObj> and (<deliverObjPronToMe> | <placeObjPronOnPlcmt>));
 
-<complexman> 			= <deliverObjToPlacement> | <bringMeRelObjFromPlcmt> | <bringMeShapedObjFromPlcmt>;
+<complexman> 			= <deliverObjToPlacement>;
 
 <goToLoc> 			= <V_go> <toLocPrep> (<NP_room> | <NP_placement> | <NP_beacon>);
 
@@ -58,13 +59,13 @@ public <sentence> 		= [could you | robot | tobi | tiago] [please] <command> [ple
 <followNameFromBeacToRoom> 	= <V_follow> <NP_name> <fromLocPrep> (<NP_beacon> | <NP_room>) <toLocPrep> <NP_roomTwo>;
 
 <meetName> 			= <V_meet> <NP_name>;
+<meetNameAtBeac> 			= <V_meet> <NP_name> <atLocPrep> <NP_beacon>;
 <meetPrsAtBeac> 		= <V_meet> <NP_name> <atLocPrep> <NP_beacon>;
 <meetprsAtDoor>		= <V_meet> <NP_name> <atLocPrep> <NP_door>;
  
 <bringObjFromRoomToPlcmt>  = <V_take> <NP_object> <fromLocPrep> <NP_room> <toLocPrep> <NP_placement>;
 <bringMeObj>    		= <V_bring> <NP_me> (<NP_object> | <NP_category>);
-<bringMeObjFromPlcmt> 		= <V_bring> <NP_me> (<NP_object> | <NP_absobject>) <fromLocPrep> <NP_placement>;
-<bringMeRelObjFromPlcmt>    = <V_bring> <NP_me> <NP_relObject> <NP_object> <fromLocPrep> <NP_placement>;
+<bringMeObjFromPlcmt> 		= <V_bring> <NP_me> <NP_relObject> <NP_object> <fromLocPrep> <NP_placement>;
 <bringMeShapedObjFromPlcmt> = <V_bring> <NP_me> <NP_objectprop> (object | <NP_category>) <fromLocPrep> <NP_placement>;
 
 
@@ -102,7 +103,9 @@ public <sentence> 		= [could you | robot | tobi | tiago] [please] <command> [ple
 <relPrep>           = (at the (left | right)) of | (above | behind | under | (on top of));
 
 <color>             = blue | yellow | black | white | red | orange | gray;
+<eatdrink>          = eat | drink;
 
+<V_offer>               = offer;
 <V_take>    			= bring | take | get | grasp | (pick up);
 <V_place>   			= put | place;
 <V_deliver> 			= bring | give | deliver;
@@ -185,4 +188,4 @@ public <sentence> 		= [could you | robot | tobi | tiago] [please] <command> [ple
 <N_door>       		= ( front | back | main | rear ) (entrance | door);
 <N_garbage>     		= litter | garbage | trash | waste | debris | junk;
 <N_luggage>     		= bag | valise | baggage | suitcase | trolley;
-<N_garbage>         = litter | garbage | trash | waste | debris | junk;
+<N_garbage>         = litter | garbage | trash | waste | debris | junk;
\ No newline at end of file