 							// dispatch next request on main thread
 							DispatchQueue.main.async(execute: {() -> Void in
 								// remove queue item
-								self.removeQueuedImageRequest(forURLString: imageRequest.URLString)
 								imageRequest.progress = nil
 								self.activeRequests.remove(at: self.activeRequests.index(of: imageRequest)!)
 								if let imageData = imageData {

					}
				case .failure(let error):
					// remove queue item
					self.removeQueuedImageRequest(forURLString: imageRequest.URLString)
					imageRequest.progress = nil
					self.activeRequests.remove(at: self.activeRequests.index(of: imageRequest)!)
					

	}
	
	private func processImageQueue() {

		// process image
		while !queuedRequests.isEmpty && isReadyForRequest() {
			if let imageRequest = dequeueRequest() {
				activeRequests.append(imageRequest)
				// start image download
				downloadImage(forRequest: imageRequest)
