diff --git a/client/main.c b/client/main.c
index 7759646..70ec94e 100644
--- a/client/main.c
+++ b/client/main.c
@@ -189,7 +189,7 @@ main(int argc, char *argv[])
       }
       else if (numready)
       {
-         unsigned char packet, hunter;
+         unsigned char packet;
          unsigned char pnum, movx, movy;
 
          printf("srv socket is ready!!\n");
@@ -230,26 +230,9 @@ main(int argc, char *argv[])
                      goto exit;
                   }
                   printf("Player %d deaded!!!!!\n", pnum);
-                  removep(choose_player(player,pnum));
+                  removep(choose_player(player, pnum));
                   break;
 
-               case ADD_PLAYER:
-                  printf("ADD_PLAYER\n");
-                  hunter = addp(player,srv_sock);
-                  choose_hunter(player,hunter);
-                  me = choose_player(player,myno);
-                  draw_maze(MAZE.X, MAZE.Y);
-
-                  PLAYER *temp;
-                  for (temp = player->next; temp != NULL; temp = temp->next)
-                  {
-                     if (temp != NULL && temp->sprite != NULL)
-                     {
-                        printf("drew player %d\n", temp->playerno);
-                        drawPlayer(temp);
-                     }
-                  }
-                  break;
             }
          }
       }
diff --git a/server/server.c b/server/server.c
index ea1b94f..2b51130 100644
--- a/server/server.c
+++ b/server/server.c
@@ -324,6 +324,9 @@ main(int argc, char *argv[])
                   Player *coll;
                   int movPnum = justMoved->playerno;
 
+                  justMoved->x = x;
+                  justMoved->y = y;
+
                   /*
                    * If the player that just moved is a hunter, and it
                    * just stepped on a regular player, kill the (regular)
@@ -471,21 +474,19 @@ set_positions(Player_set *pset)
 short int
 choose_hunter(Player_set *pset)
 {
-   int check = 0;
    Player *temp;
-   while (!check)
-   {
-      int hpno = mrand(1, pset->last_pno);
 
-      for (temp = pset->first; temp != NULL; temp = temp->next)
+   unsigned int hpno = mrand(1, pset->last_pno);
+
+   for (temp = pset->first; temp != NULL; temp = temp->next)
+   {
+      if (temp->playerno == hpno)
       {
-         if (temp->playerno == hpno)
-         {
-            return hpno;
-         }
+         temp->type = 1;
+         return hpno;
       }
    }
-   return 0;
+   return -1;
 }
 
 
@@ -493,14 +494,14 @@ void
 begin_game(Player_set *pset)
 {
    unsigned short magic;
+   unsigned char hpno;
    int j = 0,i = 0;
-   short int hpno = mrand(0, pset->last_pno);
    Player *cur, *info;
 
    set_positions(pset);
    printf("postions set!!\n");
 
-   choose_hunter(pset);
+   hpno = choose_hunter(pset);
 
    for (cur = pset->first; cur != NULL; cur = cur->next)
    {
diff --git a/server/server.h b/server/server.h
index 749deb5..648e04d 100644
--- a/server/server.h
+++ b/server/server.h
@@ -59,7 +59,9 @@ void add_player(Player_set *set);
 void rm_player(Player_set *set, Player *p);
 Player *player_byfd(Player_set *s, int fd);
 Player *player_byindex(Player_set *s, int fd);
-void pset_map(Player_set *s, void (*func)(), int fd, unsigned short sig);
+void pset_map(Player_set *s,
+      void (*func)(Player *p, int a, unsigned short sig), int fd,
+      unsigned short sig);
 
 int mrand(int floor, int ceil);
 void handle_connecting_player(int newfd, Player_set *pset);