this switch code block needs comments