//Need optimization
    //Initialize every subject seekers' surrounding nodes as startnodes; spreading from target and pickup start node and assign to according subject's path
    void Update()
    {
        int process_count = process_thredshold;

        while (pathRequestQueue.Count > 0 && process_count > 0)//something missing here?
        {
            process_count -= 1;
            for (int i = 0; i < area_dict.Count; i++)
            {
                area_dict[i].initialize();
            }

            NavRequest navRequest = pathRequestQueue[0];
            pathRequestQueue.RemoveAt(0);

            if (navRequest.subject != null)
            {
                AI_Movement ai = navRequest.subject;

                //Navigate

                List <Vector2> solution = Astar_Algorithm_pathVector2(navRequest.currLocation, navRequest.destineLocation, navRequest.agentSize);
                ai.setNavigationPath(solution);
            }
        }
    }