generalizing
not defined yet