add Typeable trait