Added an ExecutorService to manage threads; Add Timer for output; General Cleanup