avoid unuseful moves