improved rule and declaration dropping