diff --git a/oracle/src/lib.rs b/oracle/src/lib.rs
index 3b7c60b0c8189d5178d6a41ee68393c4f9056980..15c6eb269881c99830a718341c2ce2a6a5a13d4b 100644
--- a/oracle/src/lib.rs
+++ b/oracle/src/lib.rs
@@ -17,7 +17,7 @@ use sr_primitives::traits::Member;
 // would cause compiling error in `decl_module!` and `construct_runtime!`
 // #3295 https://github.com/paritytech/substrate/issues/3295
 use frame_system::{self as system, ensure_signed};
-pub use orml_traits::{CombineData, OnNewData};
+pub use orml_traits::{CombineData, DataProvider, OnNewData};
 pub use timestamped_value::TimestampedValue;
 
 type MomentOf<T> = <<T as Trait>::Time as Time>::Moment;
@@ -94,6 +94,12 @@ impl<T: Trait> Module<T> {
 	}
 }
 
+impl<T: Trait> DataProvider<T::Key, T::Value> for Module<T> {
+	fn get(key: &T::Key) -> Option<T::Value> {
+		Self::get(key).map(|timestamped_value| timestamped_value.value)
+	}
+}
+
 impl<T: Trait> Module<T> {
 	fn _feed_values(who: T::AccountId, values: Vec<(T::Key, T::Value)>) -> result::Result<(), Error> {
 		ensure!(T::OperatorProvider::can_feed_data(&who), Error::NoPermission);