public void Select(Division division)
    {
        Debug.Log($"select  {division} {division is ControlledDivision} | {UIwaitingForUnitSelection}");
        if (!UIwaitingForUnitSelection)
        {
            if (division.Controller.Controller.TeamId != TeamId)
            {
                return;
            }

            Selected = division.Controller;
            //bing up order ui
            OrderDisplayManager.Instance.ClearOrders();
            List <Order> orders = new List <Order>(Selected.AttachedDivision.PossibleOrders);
            foreach (Order order in orders)
            {
                order.CommanderSendingOrderId = GeneralDivision.AttachedDivision.DivisionId;
            }

            OrderDisplayManager.Instance.AddOrderSet(orders, new RememberedDivision(division), this);

            //bring up division display
            DivisionDisplayManager.Instance.DisplayDivision(division);
        }
        else
        {
            UnitSelectCallback?.Invoke(new RememberedDivision(division));
        }
    }