added string processing and nested groups