diff --git a/src/query/mod.rs b/src/query/mod.rs
index 3bbdc43e4bb7cc96410ce4b083b6599897c5b069..d6cc7131d73613ef8510eb1a259748627d741397 100644
--- a/src/query/mod.rs
+++ b/src/query/mod.rs
@@ -225,7 +225,7 @@ impl Display for Unit {
 
 /// Specify lookback / range duration for the queries
 #[derive(Debug, Clone, Copy)]
-pub struct Duration(u64, Unit);
+pub struct Duration(pub u64, pub Unit);
 
 impl Display for Duration {
     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
@@ -233,6 +233,12 @@ impl Display for Duration {
     }
 }
 
+impl From<(u64, Unit)> for Duration {
+    fn from((time, unit): (u64, Unit)) -> Self {
+        Duration(time, unit)
+    }
+}
+
 /// Specify time offset for the queries
 #[derive(Debug, Clone, Copy)]
 pub struct Offset(i64, Unit);