                     
                     console.log "requested start, end is", requestStart, requestEnd
                     
-                    rangeStart  = if (requestStart  < fend)     then requestStart   else fstart
-                    rangeEnd    = if (requestEnd    <= fend)    then requestEnd     else fend
+                    rangeStart  = if (requestStart  <= fend) then requestStart else 0
+                    rangeEnd    = if (requestEnd    <= fend) then requestEnd   else fend
                     console.log "rangeStart, rangeEnd, rangeRequest is", rangeStart, rangeEnd, rangeRequest
                     
                     length = (rangeEnd - rangeStart)

                
                rstream.on "end", => 
                    # got to the end of the file.  close our response
                    console.log "wrote #{ res.socket?.bytesWritten } bytes. #{@listeners} active downloads."
                    res.end()
            
                req.connection.on "end", =>
                    # connection aborted.  destroy our stream
                    console.log "wrote #{ res.socket?.bytesWritten } bytes. #{@listeners} active downloads."
                    rstream?.destroy() if rstream?.readable
                
                req.connection.on "close", => 


            # compute our final size
            fsize   = (id3?.length||0) + (predata?.length||0) + size
            fend    = fsize - 1
            console.log "fsize is", fsize

            console.log "id3 length is ", id3?.length||0
            
