 
 		Flurry.logEvent("Entering_Bakery")
 
-		locationRequestId = INTULocationManager.sharedInstance().requestLocationWithDesiredAccuracy(.House, timeout: 10) { (location, accuracy, status) in
+		determineLocation(remainingRetries: locationRetryMax)
+
+		recordController = storyboard!.instantiateViewControllerWithIdentifier("RecordSample") as! RecordSampleController
+		acceptController = storyboard!.instantiateViewControllerWithIdentifier("AcceptSample") as! AcceptSampleController
+
+		addChildViewController(recordController)
+		view.addSubview(recordController.view)
+		recordController.transitionStartY = recordController.preview.frame.origin.y
+		recordController.didMoveToParentViewController(self)
+    }
+
+	deinit {
+		INTULocationManager.sharedInstance().cancelLocationRequest(locationRequestId)
+	}
+
+	func determineLocation(var remainingRetries retry: Int) {
+		locationRequestId = INTULocationManager.sharedInstance().requestLocationWithDesiredAccuracy(.House, timeout: 3 * NSTimeInterval(1 + locationRetryMax - retry)) { (location, accuracy, status) in
 			if status == .Success || (status == .TimedOut && accuracy.rawValue >= INTULocationAccuracy.Block.rawValue) {
 				let radius = NSUserDefaults.standardUserDefaults().doubleForKey(PartyUpPreferences.SampleRadius)
 				let locs = self.venues.filter { venue in return location.distanceFromLocation(venue.location) <= radius + location.horizontalAccuracy }.sort { $0.location.distanceFromLocation(location) < $1.location.distanceFromLocation(location) }

	var venues = [Venue]()

	private var locals: [Venue]!
	private var locationRequestId: INTULocationRequestID = 0

    override func viewDidLoad() {

				case .ServicesDenied:
					message = NSLocalizedString("Please enable \"While Using the App\" location access for PartyUP to submit videos.", comment: "Location services denied alert message while recording")
					hud = false
					retry = 0
				case .ServicesDisabled:
					message = NSLocalizedString("Please enable location services to submit videos.", comment: "Location services disabled alert message while recording")
					hud = false
					retry = 0
				case .TimedOut:
					message = NSLocalizedString("Timed out determining your location, try again later.", comment: "Location services timeout hud message while recording")
					hud = true
