Fully updated Switch Statements

Needs documentation on the factory