Moved from class explosion to switch statement