generaliser
not defined yet