Adding gigantic ugly switch statement