all primitive