support primitives datatypes