TODO ==== - Multithreading - Error analysis - Better error handling (file read/write) - Better File I/O performance (file read in slow) - Output to file