add support for all primitive types, use integer identifier for the types