adding ability to generate threads to handle multiple requests
adding mock classes for testing purposes