switch is actually sort of useless