add extend support