diff --git a/libraries/vgc.robot b/libraries/vgc.robot
index 8f116b3..fc6e767 100755
--- a/libraries/vgc.robot
+++ b/libraries/vgc.robot
@@ -62,7 +62,7 @@
         Exit For Loop If    ${matched}
     END
     Should Be True    ${matched}    No match for ${serial_number} found
-    [Return]    ${of_id}
+    RETURN    ${of_id}
 
 Verify meters response
     [Arguments]    ${meter_json_resp}    ${us_cir}    ${us_cbs}
@@ -135,7 +135,7 @@
         Exit For Loop If    ${matched}
     END
     Should Be True    ${matched}    No match for NNI found for ${olt_of_id}
-    [Return]    ${nni_port}
+    RETURN    ${nni_port}
 
 
 
@@ -158,7 +158,7 @@
         Exit For Loop If    ${matched}
     END
     Should Be True    ${matched}    No match for ${onu_serial_number} found
-    [Return]    ${onu_port}
+    RETURN    ${onu_port}
 
 
 
@@ -488,7 +488,7 @@
     ${resp}=    Get Request    VGC   flows/pending
     ${jsondata}=    To Json    ${resp.content}
     ${length}=    Get Length    ${jsondata['flows']}
-    [Return]    ${length}
+    RETURN    ${length}
 
 Get In Port From Flow
     [Documentation]    Fetches the port Record for IN_PORT
@@ -503,7 +503,7 @@
            ${matched}=    Set Variable If    '${type}' == 'IN_PORT'    True    False
            Exit For Loop If    ${matched}
     END
-    [Return]    ${port}
+    RETURN    ${port}
 
 
 
@@ -521,7 +521,7 @@
            ${matched}=    Set Variable If    '${type}' == 'VLAN_VID'    True    False
            Exit For Loop If    ${matched}
     END
-    [Return]    ${vlanid}
+    RETURN    ${vlanid}
 
 
 Get Out Port From Flow
@@ -537,7 +537,7 @@
            ${matched}=    Set Variable If    '${type}' == 'OUTPUT'    True    False
            Exit For Loop If    ${matched}
     END
-    [Return]    ${outport}
+    RETURN    ${outport}
 
 
 Get Subtype From Flow
@@ -553,7 +553,7 @@
            ${matched}=    Set Variable If    '${type}' == 'L2MODIFICATION'   True    False
            Exit For Loop If    ${matched}
     END
-    [Return]    ${subtype}
+    RETURN    ${subtype}
 
 Get Vlan Id From Flow For Fttb
     [Documentation]    Fetch the VLAN id for L2MODIFICATION
@@ -570,13 +570,13 @@
            ${matched}=    Set Variable If    '${type}' == 'L2MODIFICATION' and '${subtype}' == 'VLAN_SET'   True    False
            Exit For Loop If    ${matched}
     END
-    [Return]      ${vlanId}
+    RETURN    ${vlanId}
 
 Get Table Id From Flow
     [Documentation]    Fetch the TableId
     [Arguments]    ${flow}
     ${tableid}=    Get From Dictionary    ${flow}    tableId
-    [Return]    ${tableid}
+    RETURN    ${tableid}
 
 Get Vlan Id From Flow
     [Documentation]    Fetch the VLAN id for L2MODIFICATION
@@ -593,7 +593,7 @@
            ${matched}=    Set Variable If    '${type}' == 'L2MODIFICATION' and '${subtype}' == 'VLAN_ID'   True    False
            Exit For Loop If    ${matched}
     END
-    [Return]      ${vlanId}
+    RETURN    ${vlanId}
 
 Get Subscribers for a Particular Service
     [Documentation]    Filters the subscriber for a particular service
@@ -614,7 +614,7 @@
         Exit For Loop If    ${matched}
     END
     Should Be True    ${matched}    No matching subscriber for OLT
-    [Return]    ${subscriber_list}
+    RETURN    ${subscriber_list}
 
 Get Programmed Subscribers
     [Arguments]    ${olt_of_id}    ${onu_port}    ${filter}=${EMPTY}
@@ -623,7 +623,7 @@
     ${programmed_sub_json_resp}=    To Json   ${programmed_sub.content}
     ${filtered_subscriber_list}=    Get Subscribers for a Particular Service    ${olt_of_id}    ${programmed_sub_json_resp}
     ...    ${filter}
-    [Return]    ${filtered_subscriber_list}
+    RETURN    ${filtered_subscriber_list}
 
 Verify Programmed Subscribers DT FTTB
     [Arguments]    ${olt_of_id}    ${onu_port}    ${service}
@@ -758,17 +758,16 @@
      ...    ${meter_json_resp}  3
      ${matched}=    Set Variable If    '${rate}' == '${gir}' and '${burst_size}' == '0'  True    False
      Should Be True    ${matched}
-     [Return]    ${matched}
+     RETURN    ${matched}
 
 Validate Guarenteed Information Rate For FTTB
     [Documentation]    Validate gir for both upstream and downstream meters
     [Arguments]    ${gir}    ${meter_json_resp}
     ${burst_size}=    Get From Dictionary    ${meter_json_resp['bands'][2]}    burstSize
     ${rate}=    Get From Dictionary    ${meter_json_resp['bands'][2]}    rate
-#    ${matched}=    Set Variable If    '${rate}' == '${gir}' and '${burst_size}' == '0'  True    False
-    ${matched}=    Evaluate    ${rate} == ${gir} and ${burst_size} == 0
-#    Should Be True    ${matched}
-    [Return]    ${matched}
+    ${matched}=    Set Variable If    '${rate}' == '${gir}' and '${burst_size}' == '0'  True    False
+    Should Be True    ${matched}
+    RETURN    ${matched}
 
 Get Bandwidth Profile Details Ietf Rest
     [Arguments]    ${bw_profile_id}
@@ -787,7 +786,7 @@
     ${cbs}=    Get From Dictionary    ${jsondata}    cbs
     ${gir}=    Get From Dictionary    ${jsondata}    gir
     Should Be True    ${matched}    No bandwidth profile found for id: ${bw_profile_id}
-    [Return]    ${cir}    ${cbs}    ${pir}    ${pbs}    ${gir}
+    RETURN    ${cir}    ${cbs}    ${pir}    ${pbs}    ${gir}
 
 
 Get Upstream and Downstream Bandwidth Profile Name
@@ -805,7 +804,7 @@
         ${ds_bw_profile}=    Get From Dictionary    ${tagInfo_id}    downstreamBandwidthProfile
         Log    ${ds_bw_profile}
     END
-    [Return]    ${us_bw_profile}    ${ds_bw_profile}
+    RETURN    ${us_bw_profile}    ${ds_bw_profile}
 
 Verify Subscriber Access Flows Added Count DT
     [Arguments]    ${ip}    ${port}    ${olt_of_id}    ${expected_flows}
@@ -828,7 +827,7 @@
          ${burst_size}=    Get From Dictionary    ${value}    burstSize
          ${rate}=        Get From Dictionary    ${value}    rate
     END
-    [Return]    ${rate}    ${burst_size}
+    RETURN    ${rate}    ${burst_size}
 
 Delete Subscribers And BW Profile In VGC
     [Documentation]    Delete Subscribers and bw profile  In VGC
