Updated request class
Updated exceptions, moved responsibility for sending the request to ideal class