add Typeable instances