changing to a more general Reduction model

in the meanwhile, everything's broken