Unified single & multiple characters impl