add elimination and collapse