updated to take care of uppercase lowercase and symbol