diff --git a/package.json b/package.json
index e84cba1..d2d68e6 100644
--- a/package.json
+++ b/package.json
@@ -8,6 +8,7 @@
"lint": "eslint .",
"start": "react-native start",
"test": "jest",
+ "postinstall": "patch-package",
"clean": "rm -rf ./node_modules/ && yarn",
"clean-android": "cd ./android && ./gradlew clean",
"build-android-release": "cd ./android && ./gradlew clean && ./gradlew app:assembleRelease",
diff --git a/patches/react-native-snap-carousel+3.9.1.patch b/patches/react-native-snap-carousel+3.9.1.patch
new file mode 100644
index 0000000..b96a2cf
--- /dev/null
+++ b/patches/react-native-snap-carousel+3.9.1.patch
@@ -0,0 +1,124 @@
+diff --git a/node_modules/react-native-snap-carousel/src/carousel/Carousel.js b/node_modules/react-native-snap-carousel/src/carousel/Carousel.js
+index dae71a3..860c13e 100644
+--- a/node_modules/react-native-snap-carousel/src/carousel/Carousel.js
++++ b/node_modules/react-native-snap-carousel/src/carousel/Carousel.js
+@@ -1,5 +1,5 @@
+ import React, { Component } from 'react';
+-import { Animated, Easing, FlatList, I18nManager, Platform, ScrollView, View, ViewPropTypes } from 'react-native';
++import { Animated, Easing, FlatList, I18nManager, Platform, ScrollView, View } from 'react-native';
+ import PropTypes from 'prop-types';
+ import shallowCompare from 'react-addons-shallow-compare';
+ import {
+@@ -43,8 +43,8 @@ export default class Carousel extends Component {
+ autoplayDelay: PropTypes.number,
+ autoplayInterval: PropTypes.number,
+ callbackOffsetMargin: PropTypes.number,
+- containerCustomStyle: ViewPropTypes ? ViewPropTypes.style : View.propTypes.style,
+- contentContainerCustomStyle: ViewPropTypes ? ViewPropTypes.style : View.propTypes.style,
++ containerCustomStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
++ contentContainerCustomStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
+ enableMomentum: PropTypes.bool,
+ enableSnap: PropTypes.bool,
+ firstItem: PropTypes.number,
+@@ -61,7 +61,7 @@ export default class Carousel extends Component {
+ scrollEnabled: PropTypes.bool,
+ scrollInterpolator: PropTypes.func,
+ slideInterpolatedStyle: PropTypes.func,
+- slideStyle: ViewPropTypes ? ViewPropTypes.style : View.propTypes.style,
++ slideStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
+ shouldOptimizeUpdates: PropTypes.bool,
+ swipeThreshold: PropTypes.number,
+ useScrollView: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),
+@@ -151,9 +151,9 @@ export default class Carousel extends Component {
+ this._ignoreNextMomentum = false;
+
+ // Warnings
+- if (!ViewPropTypes) {
+- console.warn('react-native-snap-carousel: It is recommended to use at least version 0.44 of React Native with the plugin');
+- }
++ // if (!ViewPropTypes) {
++ // console.warn('react-native-snap-carousel: It is recommended to use at least version 0.44 of React Native with the plugin');
++ // }
+ if (!props.vertical && (!props.sliderWidth || !props.itemWidth)) {
+ console.error('react-native-snap-carousel: You need to specify both `sliderWidth` and `itemWidth` for horizontal carousels');
+ }
+diff --git a/node_modules/react-native-snap-carousel/src/pagination/Pagination.js b/node_modules/react-native-snap-carousel/src/pagination/Pagination.js
+index 5c021cf..44aa287 100644
+--- a/node_modules/react-native-snap-carousel/src/pagination/Pagination.js
++++ b/node_modules/react-native-snap-carousel/src/pagination/Pagination.js
+@@ -1,5 +1,5 @@
+ import React, { PureComponent } from 'react';
+-import { I18nManager, Platform, View, ViewPropTypes } from 'react-native';
++import { I18nManager, Platform, View } from 'react-native';
+ import PropTypes from 'prop-types';
+ import PaginationDot from './PaginationDot';
+ import styles from './Pagination.style';
+@@ -14,16 +14,16 @@ export default class Pagination extends PureComponent {
+ dotsLength: PropTypes.number.isRequired,
+ activeOpacity: PropTypes.number,
+ carouselRef: PropTypes.object,
+- containerStyle: ViewPropTypes ? ViewPropTypes.style : View.propTypes.style,
++ containerStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
+ dotColor: PropTypes.string,
+- dotContainerStyle: ViewPropTypes ? ViewPropTypes.style : View.propTypes.style,
++ dotContainerStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
+ dotElement: PropTypes.element,
+- dotStyle: ViewPropTypes ? ViewPropTypes.style : View.propTypes.style,
++ dotStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
+ inactiveDotColor: PropTypes.string,
+ inactiveDotElement: PropTypes.element,
+ inactiveDotOpacity: PropTypes.number,
+ inactiveDotScale: PropTypes.number,
+- inactiveDotStyle: ViewPropTypes ? ViewPropTypes.style : View.propTypes.style,
++ inactiveDotStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
+ renderDots: PropTypes.func,
+ tappableDots: PropTypes.bool,
+ vertical: PropTypes.bool,
+diff --git a/node_modules/react-native-snap-carousel/src/pagination/PaginationDot.js b/node_modules/react-native-snap-carousel/src/pagination/PaginationDot.js
+index e59d196..3770c03 100644
+--- a/node_modules/react-native-snap-carousel/src/pagination/PaginationDot.js
++++ b/node_modules/react-native-snap-carousel/src/pagination/PaginationDot.js
+@@ -1,5 +1,5 @@
+ import React, { PureComponent } from 'react';
+-import { View, Animated, Easing, TouchableOpacity, ViewPropTypes } from 'react-native';
++import { View, Animated, Easing, TouchableOpacity } from 'react-native';
+ import PropTypes from 'prop-types';
+ import styles from './Pagination.style';
+
+@@ -12,11 +12,11 @@ export default class PaginationDot extends PureComponent {
+ activeOpacity: PropTypes.number,
+ carouselRef: PropTypes.object,
+ color: PropTypes.string,
+- containerStyle: ViewPropTypes ? ViewPropTypes.style : View.propTypes.style,
++ containerStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
+ inactiveColor: PropTypes.string,
+- inactiveStyle: ViewPropTypes ? ViewPropTypes.style : View.propTypes.style,
++ inactiveStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
+ index: PropTypes.number,
+- style: ViewPropTypes ? ViewPropTypes.style : View.propTypes.style,
++ style: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
+ tappable: PropTypes.bool
+ };
+
+diff --git a/node_modules/react-native-snap-carousel/src/parallaximage/ParallaxImage.js b/node_modules/react-native-snap-carousel/src/parallaximage/ParallaxImage.js
+index 8bc774a..3be5f83 100644
+--- a/node_modules/react-native-snap-carousel/src/parallaximage/ParallaxImage.js
++++ b/node_modules/react-native-snap-carousel/src/parallaximage/ParallaxImage.js
+@@ -1,7 +1,7 @@
+ // Parallax effect inspired by https://github.com/oblador/react-native-parallax/
+
+ import React, { Component } from 'react';
+-import { View, ViewPropTypes, Image, Animated, Easing, ActivityIndicator, findNodeHandle } from 'react-native';
++import { View, Image, Animated, Easing, ActivityIndicator, findNodeHandle } from 'react-native';
+ import PropTypes from 'prop-types';
+ import styles from './ParallaxImage.style';
+
+@@ -16,7 +16,7 @@ export default class ParallaxImage extends Component {
+ sliderHeight: PropTypes.number, // passed from
+ sliderWidth: PropTypes.number, // passed from
+ vertical: PropTypes.bool, // passed from
+- containerStyle: ViewPropTypes ? ViewPropTypes.style : View.propTypes.style,
++ containerStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
+ dimensions: PropTypes.shape({
+ width: PropTypes.number,
+ height: PropTypes.number