Refactored MakeMove