added switch cases