generalized
not defined yet