Added multi-byte support (optional)