branch struct cases
foreach case