implement -m switcher