needs more Typeable