adding support for optional named Groups