detect and support reduce