got rid of dependency to boost::thread, now using std::mutex