add runtime type identification.