generalise

not defined yet