different modes are now in a switch statement