change to use graphemes instead of chars