updated verison(scaling, target, and relink)