improved scaling input modifier