tags preserved by parsing; lower case ranks accepted as input