public async Task<IEnumerable<Person>> GetPeopleAsync (PagedDataQuery query)
		{
			var result = new List<Person> ();

			try {

				var peoplePayload = await _randomUserService.GetRandomPeople (query.PageSize);

				//Delay an additional time to simulate long running 
				await Task.Delay (TimeSpan.FromSeconds (1));

				var people = from userResult in peoplePayload.results
				             select new Person {
					DisplayName = userResult.user.name.first.UppercaseFirst () + " " + userResult.user.name.last.UppercaseFirst (),
					PhoneNumber = userResult.user.phone,
					Email = userResult.user.email,
					Picture = userResult.user.picture,
					Username = "******" + userResult.user.username,
					Address = userResult.user.location
				};

				result.AddRange (people);

			} catch (Exception ex) {
				//todo replace with proper error handling
				Debug.WriteLine (ex);
			}

			return result;
		}
		private async Task LoadMoreExecute(PagedDataQuery query)
		{
			if(query.PageNumber == 1)
			{
				IsRefreshing = true;
			}
			else{
				IsBusy = true;
			}

			var people = await _directoryService.GetPeopleAsync (query);

			foreach(var person in people)
			{
				People.Add (person);
			}

			if(query.PageNumber == 1)
			{
				IsRefreshing = false;
			}
			else{
				IsBusy = false;
			}

		}
		public async Task<IEnumerable<Person>> SearchPeopleAsync (PagedDataQuery query)
		{
			var result = new List<Person> ();

			try {
				var searchQuery = "fish";

			} catch (Exception ex) {
				//todo replace with proper error handling
				Debug.WriteLine (ex);
			}

			return result;
		}