diff --git a/base/Dockerfile b/base/Dockerfile
index 54fa6c8..483cbe9 100644
--- a/base/Dockerfile
+++ b/base/Dockerfile
@@ -2,7 +2,7 @@ FROM tier/shib-idp:3.4.7_20200702 as idp
 # latest 3.x is tier/shib-idp:3.4.7_20200702
 
 # Grouper version for the entire GTE
-FROM i2incommon/grouper:2.6.18.1
+FROM i2incommon/grouper:2.6.19.3
 
 # Disable docker HEALTHCHECK inherited from tier/shib-sp
 HEALTHCHECK NONE
diff --git a/ex101/ex101.1.1/container_files/seed-data/bootstrap.gsh b/ex101/ex101.1.1/container_files/seed-data/bootstrap.gsh
index 88cbf15..e4c2009 100644
--- a/ex101/ex101.1.1/container_files/seed-data/bootstrap.gsh
+++ b/ex101/ex101.1.1/container_files/seed-data/bootstrap.gsh
@@ -331,6 +331,8 @@ GrouperDbConfig textConfig = new GrouperDbConfig().configFileName("grouper.text.
 /* eduPersonAffiliation provisioner -- exercise 201.3 */
 
 config.propertyName("provisioner.eduPersonAffiliation.class").value('''edu.internet2.middleware.grouper.app.ldapProvisioning.LdapSync''').store()
+config.propertyName("provisioner.eduPersonAffiliation.customizeGroupCrud").value('''true''').store()
+config.propertyName("provisioner.eduPersonAffiliation.deleteGroups").value('''false''').store()
 config.propertyName("provisioner.eduPersonAffiliation.entityAttributeValueCache0entityAttribute").value('''ldap_dn''').store()
 config.propertyName("provisioner.eduPersonAffiliation.entityAttributeValueCache0has").value('''true''').store()
 config.propertyName("provisioner.eduPersonAffiliation.entityAttributeValueCache0source").value('''target''').store()
@@ -339,14 +341,23 @@ config.propertyName("provisioner.eduPersonAffiliation.entityAttributeValueCacheH
 config.propertyName("provisioner.eduPersonAffiliation.entityMatchingAttribute0name").value('''uid''').store()
 config.propertyName("provisioner.eduPersonAffiliation.entityMatchingAttributeCount").value('''1''').store()
 config.propertyName("provisioner.eduPersonAffiliation.entityMembershipAttributeName").value('''eduPersonAffiliation''').store()
-config.propertyName("provisioner.eduPersonAffiliation.entityMembershipAttributeValue").value('''extension''').store()
+config.propertyName("provisioner.eduPersonAffiliation.entityMembershipAttributeValue").value('''groupAttributeValueCache0''').store()
+config.propertyName("provisioner.eduPersonAffiliation.groupAttributeValueCache0groupAttribute").value('''affiliation''').store()
+config.propertyName("provisioner.eduPersonAffiliation.groupAttributeValueCache0has").value('''true''').store()
+config.propertyName("provisioner.eduPersonAffiliation.groupAttributeValueCache0source").value('''grouper''').store()
+config.propertyName("provisioner.eduPersonAffiliation.groupAttributeValueCache0type").value('''groupAttribute''').store()
+config.propertyName("provisioner.eduPersonAffiliation.groupAttributeValueCacheHas").value('''true''').store()
 config.propertyName("provisioner.eduPersonAffiliation.hasTargetEntityLink").value('''true''').store()
+config.propertyName("provisioner.eduPersonAffiliation.insertGroups").value('''false''').store()
 config.propertyName("provisioner.eduPersonAffiliation.ldapExternalSystemConfigId").value('''demo''').store()
 config.propertyName("provisioner.eduPersonAffiliation.numberOfEntityAttributes").value('''4''').store()
+config.propertyName("provisioner.eduPersonAffiliation.numberOfGroupAttributes").value('''1''').store()
 config.propertyName("provisioner.eduPersonAffiliation.operateOnGrouperEntities").value('''true''').store()
+config.propertyName("provisioner.eduPersonAffiliation.operateOnGrouperGroups").value('''true''').store()
 config.propertyName("provisioner.eduPersonAffiliation.operateOnGrouperMemberships").value('''true''').store()
 config.propertyName("provisioner.eduPersonAffiliation.provisioningType").value('''entityAttributes''').store()
 config.propertyName("provisioner.eduPersonAffiliation.selectAllEntities").value('''true''').store()
+config.propertyName("provisioner.eduPersonAffiliation.selectGroups").value('''false''').store()
 config.propertyName("provisioner.eduPersonAffiliation.startWith").value('''this is start with read only''').store()
 config.propertyName("provisioner.eduPersonAffiliation.subjectSourcesToProvision").value('''eduLDAP''').store()
 config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.name").value('''ldap_dn''').store()
@@ -363,6 +374,10 @@ config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.3.sh
 config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.3.showAttributeValueSettings").value('''true''').store()
 config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.3.translateExpressionType").value('''staticValues''').store()
 config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.3.translateFromStaticValues").value('''eduPerson''').store()
+config.propertyName("provisioner.eduPersonAffiliation.targetGroupAttribute.0.name").value('''affiliation''').store()
+config.propertyName("provisioner.eduPersonAffiliation.targetGroupAttribute.0.translateExpressionType").value('''grouperProvisioningGroupField''').store()
+config.propertyName("provisioner.eduPersonAffiliation.targetGroupAttribute.0.translateFromGrouperProvisioningGroupField").value('''extension''').store()
+config.propertyName("provisioner.eduPersonAffiliation.updateGroups").value('''false''').store()
 config.propertyName("provisioner.eduPersonAffiliation.userSearchBaseDn").value('''ou=people,dc=internet2,dc=edu''').store()
 
 config.propertyName("otherJob.ePA_full_sync.class").value('''edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob''').store()