         return Int(round(baseValue / unit.baseValueMultiplier))
     }
 
-    /// Returns a new instance of `Timestamp` with given `Unit`.
+    /// Returns a new instance of `Timestamp` calculated to given `Unit`.
+    /// New `Timestamp` will have different `value`,
+    /// but `baseValue` will not change.
     ///
     /// - Parameter otherUnit: Specified in which `Unit` 
     ///   new `Timestamp` should be represented.
     func converted(to otherUnit: Unit) -> Timestamp {
         return Timestamp(value: baseValue / otherUnit.baseValueMultiplier, unit: otherUnit)
+    }
+
+    /// Returns a new instance of `Timestamp` with given `Unit`.
+    /// New `Timestamp` will have different `baseValue`,
+    /// but `value` will not change.
+    ///
+    /// - parameter otherUnit: Specified in which `Unit`
+    ///   new `Timestamp` should be represented.
+    func changed(to otherUnit: Unit) -> Timestamp {
+        return Timestamp(value: value, unit: otherUnit)
     }
 }
 

    }
}

// MARK: Arithmetic Operators

/// Returns new `Timestamp` which is a result of adding `baseValues`
/// of both parameters. New `Timestamp` has the same `Unit` as `lhs`.

    /// Creates a new instance with given `value` in specified
    /// `unit`. `baseValue` is calculaed based on `value` and `unit`.
    ///
    /// - Parameters:
    ///     - value: Number of units.
    ///     - unit:  Unit in which `Timestamp` is represented.
    init(value: Int, unit: Unit) {
        self.init(value: Double(value), unit: unit)
    }
