this switch-case formatting looks really weird