fully removed the switch statement