public HomeButton(string iconText, string title, Color iconBGColor, Color titleBGColor)
        {
            IconLabel iconLabel = new IconLabel {
                HorizontalOptions = LayoutOptions.Fill,
                VerticalOptions = LayoutOptions.Fill,
                BackgroundColor = iconBGColor,
                TextColor = Color.White,
                Text = iconText,
                FontSize = 60
            };

            Label titleLabel = new Label {
                HorizontalOptions = LayoutOptions.Fill,
                VerticalOptions = LayoutOptions.Fill,
                BackgroundColor = titleBGColor,
                TextColor = Color.White,
                Text = title,
                FontSize = 14
            };

            RelativeLayout layout = new RelativeLayout ();
            layout.Children.Add (iconLabel,
                Constraint.Constant (0),
                Constraint.Constant (0),
                Constraint.RelativeToParent ((parent) => parent.Width),
                Constraint.RelativeToParent ((parent) => parent.Height));

            layout.Children.Add (titleLabel,
                Constraint.Constant (0),
                Constraint.RelativeToParent ((parent) => parent.Height * 0.75),
                Constraint.RelativeToParent ((parent) => parent.Width),
                Constraint.RelativeToParent ((parent) => parent.Height * 0.25));

            Content = layout;
        }
		private void initialiseControls() {
			previousMonthLabel = new IconLabel {
				TextColor = Color.Black,
				FontSize = 30,
				Text = IconLabel.Icon.FAArrowLeft,
				VerticalTextAlignment = TextAlignment.Center,
				HorizontalOptions = LayoutOptions.Start
			};
			var previousMonthTapGestureRecognizer = new TapGestureRecognizer ();
			previousMonthTapGestureRecognizer.Tapped += async (s, e) => {
				if (previousMonthLabel.IsEnabled) {
					previousMonthLabel.IsEnabled = false;
					DateTime newDate = currentDateTime.AddMonths(-1);
					await previousMonthLabel.ScaleTo(.8, 100);
					await previousMonthLabel.ScaleTo(1, 100);
					PurseCalendarMonth newData = await OnlineDataLoader.getCalendarMonth(762, 117709, newDate.Month, newDate.Year);
					loadCalendarGrid(newData);
					setContent ();
					previousMonthLabel.IsEnabled = true;
				}
			};
			previousMonthLabel.GestureRecognizers.Add (previousMonthTapGestureRecognizer);

			nextMonthLabel = new IconLabel {
				TextColor = Color.Black,
				FontSize = 30,
				Text = IconLabel.Icon.FAArrowRight,
				VerticalTextAlignment = TextAlignment.Center,
				HorizontalOptions = LayoutOptions.End
			};
			var nextMonthTapGestureRecognizer = new TapGestureRecognizer ();
			nextMonthTapGestureRecognizer.Tapped += async (s, e) => {
				if (nextMonthLabel.IsEnabled) {
					nextMonthLabel.IsEnabled = false;
					DateTime newDate = currentDateTime.AddMonths(1);
					await nextMonthLabel.ScaleTo(.8, 100);
					await nextMonthLabel.ScaleTo(1, 100);
					PurseCalendarMonth newData = await OnlineDataLoader.getCalendarMonth(762, 117709, newDate.Month, newDate.Year);
					loadCalendarGrid(newData);
					setContent ();
					nextMonthLabel.IsEnabled = true;
				}
			};
			nextMonthLabel.GestureRecognizers.Add (nextMonthTapGestureRecognizer);
		}