add extend deep util