use lowercase only for logic, keep and improve uppercase for display
uniformize subjects and better handle special cases for order