add minimax implementation