Lines in this switch statement have not been indented, in order to make the diff more clear. The style problems can be addressed in a different issue. Jussayin'