better redirect and char case fix