support char value
support other primitives