recursive deploy