-https://doc.libsodium.org/
 
 To Do:
+*hashing/cryptography
 -bencoding/decoding
-       -might not need decoding?
 -file system
        -open/close
        -creating torrents
        -traverse directories
 -networking
        -tcp/udp support
--hashing/cryptography
-       -find out which algorithms used in protocol
-       -lightweight library
 -architecture
        -epoll
        -daemonize
        -threads
                -adding torrents
                -generating pieces/doing hashing
-               -network tread(s)
-               -logging 
+               -network thread(s)
+               *logging 
 -considerations
        -byte order issues?
        -multiple protocols same socket?
 
 Stage 0:
 *basic structure
--update logging
-       -timing
-       -threadid
-       -fix va_args problem
-               -pass va_list as parameter to log_message?
-               -would have to modify declaration of log_message
+*update logging
 -global variables
        -torrents
-       -options
+       *options
        -peers
+       -add queue
+               -no, run each directory in torrents through nftw
 -setup watches
        *add option to watch directories
        *add option for worker_threads [default=ncores]
+       -add default watch directories
+       -foreach watch directory
+               -walk each tree
+               -add each file to add queue
+                       -check for duplicates
+               -add pointer to struct file to torrent
        -figure out files organization
                -store in files object
                -store inside respective struct torrent