switch to hash table for buffers, implement thread pool based off of boost::asio, formatting
begin process of using thread pools to parallelize and switch to a scoring approach to allow for more flexibility