added switch cases
structs