support custom alphabets