primitive vs civilized data types