diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -7,3 +7,8 @@
 ## 0.2.0.0 -- 2020-09-09
 
 * Second version. Fixed issue with the wrong arguments order in the Languages.UniquenessPeriods.Vector.StrictV.uniquenessVariants2GN function. 
+
+## 0.3.0.0 -- 2020-09-12
+
+* Third version. Changed the Languages.UniquenessPeriods.Vector.Data module so that the uniqueness-periods-vector-general package can be fixed and rewritten to 
+follow the requirements. These changes break the previous behaviour, so check the code.
diff --git a/Languages/UniquenessPeriods/Vector/Data.hs b/Languages/UniquenessPeriods/Vector/Data.hs
--- a/Languages/UniquenessPeriods/Vector/Data.hs
+++ b/Languages/UniquenessPeriods/Vector/Data.hs
@@ -52,31 +52,12 @@
 isK K = True
 isK _ = False
 
--- | Is used to control whether to return data or only to print the needed information. The 'U' contstuctor corresponds to the information printing and 'UL' to 
--- returning also data. The last one so can be further used.
-data UniquenessG a b = U b | UL ([a],b) deriving Eq
-
-instance (Show a, Show b) => Show (UniquenessG a (V.Vector (UniquenessG1 a b))) where
-  show (U v) = show . V.map lastFrom3 $ v
-  show (UL (wss,_)) = show wss
-
-type UniqG a b = UniquenessG [a] (V.Vector (UniquenessG1 a b))  
-
--- | Decomposes the data type 'UniqG' into its components. The inverse to the 'set2'.
-get2 :: UniqG a b -> (Maybe [[a]], V.Vector (UniquenessG1 a b))
-get2 (U v) = (Nothing,v)
-get2 (UL (wss,v)) = (Just wss,v)
-
--- | Compose the data type 'UniqG' from its components. The inverse to the 'get2'.
-set2 :: (Maybe [[a]], V.Vector (UniquenessG1 a b)) -> UniqG a b
-set2 (Just wss, v) = UL (wss,v)
-set2 (Nothing, v) = U v
+data UniquenessG2 a b = UL2 ([a],b) deriving Eq
 
-isU :: UniqG a b -> Bool
-isU (U _) = True
-isU _ = False
+instance (Show a, Show b) => Show (UniquenessG2 (UniquenessG1 a b) (V.Vector (UniquenessG1 a b))) where
+  show (UL2 (ws,_)) = show ws
 
-isUL :: UniqG a b -> Bool
-isUL (UL _) = True
-isUL _ = False
+type UniqG2 a b = UniquenessG2 (UniquenessG1 a b) (V.Vector (UniquenessG1 a b))  
 
+get22 :: UniqG2 a b -> ([UniquenessG1 a b], V.Vector (UniquenessG1 a b))
+get22 (UL2 (ws, x)) = (ws, x)
diff --git a/uniqueness-periods-vector-common.cabal b/uniqueness-periods-vector-common.cabal
--- a/uniqueness-periods-vector-common.cabal
+++ b/uniqueness-periods-vector-common.cabal
@@ -2,7 +2,7 @@
 --   For further documentation, see http://haskell.org/cabal/users-guide/
 
 name:                uniqueness-periods-vector-common
-version:             0.2.0.0
+version:             0.3.0.0
 synopsis:            Generalization of the dobutokO-poetry-general package functionality
 description:         Generalization of the dobutokO-poetry-general package functionality. Can be used to rearrange 7 sublists in the list to obtain somewhat more suitable list for some purposes.
 homepage:            https://hackage.haskell.org/package/uniqueness-periods-vector-common
