optimize move ordering