making more general