return true
 }
 
-func (cl *Client) allNeededTorrentsCompleted() bool {
-       for _, t := range cl.torrents {
-               if !t.haveInfo() {
-                       return false
-               }
-               if ! t.neededPiecesDownloaded() {
-                       return false
-               }
-       }
-       return true
-}
 
 // Returns true when all torrents are completely downloaded and false if the
 // client is stopped before that.
        return true
 }
 
-// Returns true when all requested chunks are completely downloaded and false if the
-// client is stopped before that.
-func (me *Client) WaitNeeded() bool {
-       me.mu.Lock()
-       defer me.mu.Unlock()
-       for !me.allNeededTorrentsCompleted() {
-               if me.stopped() {
-                       return false
-               }
-               me.event.Wait()
-       }
-       return true
-}
 
 func (me *Client) fillRequests(t *torrent, c *connection) {
        if c.Interested {
 
        }
        dstWriter := bufio.NewWriter(f)
 
-
+       done := make(chan struct{})
        for _, arg := range posArgs {
                t := func() torrent.Torrent {
                        if strings.HasPrefix(arg, "magnet:") {
 
                                        srcReader := io.NewSectionReader(t.NewReader(), file.Offset(), file.Length())
                                        io.Copy(dstWriter, srcReader)
+                                       close(done)
                                        break
                                }
                        }
                }()
        }
 
-       done := make(chan struct{})
-       go func() {
-               defer close(done)
-               if client.WaitNeeded() {
-                       log.Print("downloaded ALL the torrents")
-               } else {
-                       log.Fatal("y u no complete torrents?!")
-               }
-       }()
+
        ticker := time.NewTicker(time.Second)
 waitDone:
        for {
 
        return t.Info.NumPieces()
 }
 
-func (t *torrent) neededPiecesDownloaded() bool {
-       for i := range iter.N(t.Info.NumPieces()) {
-               if t.Pieces[i].Priority != piecePriorityNone && !t.pieceComplete(i) {
-                       return false
-               }
-       }
-       return true
-}
 
 func (t *torrent) numPiecesCompleted() (num int) {
        for i := range iter.N(t.Info.NumPieces()) {