v1 works for most cases
deal with naive duplicated charactors