let's make this a type switch.