rework deprecation support