new controlled move algorithm