handling of primitive types