char* dup(char* s)
  {
    int   slen = strlen(s);
    char* cpy  = new char[slen + 1];

    for(int k = 0; s[k] != '\0'; k++) 
    {
      cpy[k] = s[k];
    }
    cpy[slen] = '\0';
    return cpy;
  }