diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,8 @@
 # Change Log
 
+## [1.3.1.0] - 2016-02-29
+Add version information and generator to Graphics.Vulkan.Version
+
 ## [1.3.0.0] - 2016-02-29
 Add Read and Show instances for bitmasks
 
diff --git a/src/Graphics/Vulkan/Buffer.hs b/src/Graphics/Vulkan/Buffer.hs
--- a/src/Graphics/Vulkan/Buffer.hs
+++ b/src/Graphics/Vulkan/Buffer.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Buffer where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Text.Read.Lex( Lexeme(Ident)
@@ -47,6 +48,7 @@
                            )
 import Foreign.C.Types( CSize(..)
                       )
+
 -- ** vkCreateBuffer
 foreign import ccall "vkCreateBuffer" vkCreateBuffer :: 
   VkDevice ->
diff --git a/src/Graphics/Vulkan/BufferView.hs b/src/Graphics/Vulkan/BufferView.hs
--- a/src/Graphics/Vulkan/BufferView.hs
+++ b/src/Graphics/Vulkan/BufferView.hs
@@ -2,6 +2,7 @@
 {-# LANGUAGE Strict #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.BufferView where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Graphics.Vulkan.Buffer( VkBuffer(..)
@@ -33,6 +34,7 @@
                            )
 import Foreign.C.Types( CSize(..)
                       )
+
 -- ** vkCreateBufferView
 foreign import ccall "vkCreateBufferView" vkCreateBufferView :: 
   VkDevice ->
diff --git a/src/Graphics/Vulkan/CommandBuffer.hs b/src/Graphics/Vulkan/CommandBuffer.hs
--- a/src/Graphics/Vulkan/CommandBuffer.hs
+++ b/src/Graphics/Vulkan/CommandBuffer.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.CommandBuffer where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Graphics.Vulkan.Pass( VkFramebuffer(..)
@@ -47,6 +48,7 @@
                            , VkFlags(..)
                            , VkStructureType(..)
                            )
+
 -- ** VkCommandBufferLevel
 
 newtype VkCommandBufferLevel = VkCommandBufferLevel Int32
diff --git a/src/Graphics/Vulkan/CommandBufferBuilding.hs b/src/Graphics/Vulkan/CommandBufferBuilding.hs
--- a/src/Graphics/Vulkan/CommandBufferBuilding.hs
+++ b/src/Graphics/Vulkan/CommandBufferBuilding.hs
@@ -4,6 +4,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.CommandBufferBuilding where
+
 import Data.Vector.Storable.Sized( Vector
                                  )
 import Graphics.Vulkan.Buffer( VkBuffer(..)
@@ -90,6 +91,7 @@
 import Foreign.C.Types( CFloat
                       , CFloat(..)
                       )
+
 -- ** vkCmdPushConstants
 foreign import ccall "vkCmdPushConstants" vkCmdPushConstants :: 
   VkCommandBuffer ->
diff --git a/src/Graphics/Vulkan/CommandPool.hs b/src/Graphics/Vulkan/CommandPool.hs
--- a/src/Graphics/Vulkan/CommandPool.hs
+++ b/src/Graphics/Vulkan/CommandPool.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.CommandPool where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Text.Read.Lex( Lexeme(Ident)
@@ -45,6 +46,7 @@
                            )
 import Foreign.C.Types( CSize(..)
                       )
+
 
 data VkCommandPoolCreateInfo =
   VkCommandPoolCreateInfo{ vkSType :: VkStructureType 
diff --git a/src/Graphics/Vulkan/Constants.hs b/src/Graphics/Vulkan/Constants.hs
--- a/src/Graphics/Vulkan/Constants.hs
+++ b/src/Graphics/Vulkan/Constants.hs
@@ -2,6 +2,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Constants where
+
 import Text.Read.Lex( Lexeme(Ident)
                     )
 import GHC.Read( expectP
@@ -22,6 +23,7 @@
                                       , step
                                       )
 
+
 pattern VK_SUBPASS_EXTERNAL = 0xffffffff :: Word32
 
 pattern VK_UUID_SIZE = 16
@@ -78,6 +80,7 @@
 
 pattern VK_MAX_DESCRIPTION_SIZE = 256
 type VK_MAX_DESCRIPTION_SIZE = 256
+vkNullHandle  = 0
 
 pattern VK_TRUE = 1
 type VK_TRUE = 1
diff --git a/src/Graphics/Vulkan/Core.hs b/src/Graphics/Vulkan/Core.hs
--- a/src/Graphics/Vulkan/Core.hs
+++ b/src/Graphics/Vulkan/Core.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Core where
+
 import Text.Read.Lex( Lexeme(Ident)
                     )
 import GHC.Read( expectP
@@ -27,6 +28,7 @@
 import Foreign.C.Types( CFloat
                       , CFloat(..)
                       )
+
 newtype VkDeviceSize = VkDeviceSize Word64
   deriving (Eq, Storable)
 
diff --git a/src/Graphics/Vulkan/DescriptorSet.hs b/src/Graphics/Vulkan/DescriptorSet.hs
--- a/src/Graphics/Vulkan/DescriptorSet.hs
+++ b/src/Graphics/Vulkan/DescriptorSet.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.DescriptorSet where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Graphics.Vulkan.Buffer( VkBuffer(..)
@@ -61,6 +62,7 @@
                            )
 import Foreign.C.Types( CSize(..)
                       )
+
 -- ** vkUpdateDescriptorSets
 foreign import ccall "vkUpdateDescriptorSets" vkUpdateDescriptorSets :: 
   VkDevice ->
diff --git a/src/Graphics/Vulkan/Device.hs b/src/Graphics/Vulkan/Device.hs
--- a/src/Graphics/Vulkan/Device.hs
+++ b/src/Graphics/Vulkan/Device.hs
@@ -2,6 +2,7 @@
 {-# LANGUAGE Strict #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Device where
+
 import Data.Word( Word32
                 )
 import Foreign.Ptr( Ptr
@@ -30,6 +31,7 @@
                       , CChar
                       , CSize(..)
                       )
+
 -- ** vkCreateDevice
 foreign import ccall "vkCreateDevice" vkCreateDevice :: 
   VkPhysicalDevice ->
diff --git a/src/Graphics/Vulkan/Device.hs-boot b/src/Graphics/Vulkan/Device.hs-boot
--- a/src/Graphics/Vulkan/Device.hs-boot
+++ b/src/Graphics/Vulkan/Device.hs-boot
@@ -1,7 +1,9 @@
 
 module Graphics.Vulkan.Device where
+
 import Foreign.Ptr( Ptr
                   )
+
 data VkDevice_T
 type VkDevice = Ptr VkDevice_T
 
diff --git a/src/Graphics/Vulkan/DeviceInitialization.hs b/src/Graphics/Vulkan/DeviceInitialization.hs
--- a/src/Graphics/Vulkan/DeviceInitialization.hs
+++ b/src/Graphics/Vulkan/DeviceInitialization.hs
@@ -4,6 +4,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.DeviceInitialization where
+
 import Data.Vector.Storable.Sized( Vector
                                  )
 import Graphics.Vulkan.Device( VkPhysicalDeviceFeatures(..)
@@ -77,6 +78,7 @@
                       , CChar
                       , CSize(..)
                       )
+
 -- ** VkPhysicalDeviceType
 
 newtype VkPhysicalDeviceType = VkPhysicalDeviceType Int32
diff --git a/src/Graphics/Vulkan/Event.hs b/src/Graphics/Vulkan/Event.hs
--- a/src/Graphics/Vulkan/Event.hs
+++ b/src/Graphics/Vulkan/Event.hs
@@ -2,6 +2,7 @@
 {-# LANGUAGE Strict #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Event where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Data.Word( Word64
@@ -29,6 +30,7 @@
                            )
 import Foreign.C.Types( CSize(..)
                       )
+
 -- ** vkDestroyEvent
 foreign import ccall "vkDestroyEvent" vkDestroyEvent :: 
   VkDevice -> VkEvent -> Ptr VkAllocationCallbacks -> IO ()
diff --git a/src/Graphics/Vulkan/ExtensionDiscovery.hs b/src/Graphics/Vulkan/ExtensionDiscovery.hs
--- a/src/Graphics/Vulkan/ExtensionDiscovery.hs
+++ b/src/Graphics/Vulkan/ExtensionDiscovery.hs
@@ -2,6 +2,7 @@
 {-# LANGUAGE DataKinds #-}
 {-# LANGUAGE Strict #-}
 module Graphics.Vulkan.ExtensionDiscovery where
+
 import Data.Vector.Storable.Sized( Vector
                                  )
 import Graphics.Vulkan.Device( VkPhysicalDevice(..)
@@ -19,6 +20,7 @@
                            )
 import Foreign.C.Types( CChar
                       )
+
 
 data VkExtensionProperties =
   VkExtensionProperties{ vkExtensionName :: Vector VK_MAX_EXTENSION_NAME_SIZE CChar 
diff --git a/src/Graphics/Vulkan/Fence.hs b/src/Graphics/Vulkan/Fence.hs
--- a/src/Graphics/Vulkan/Fence.hs
+++ b/src/Graphics/Vulkan/Fence.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Fence where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Text.Read.Lex( Lexeme(Ident)
@@ -46,6 +47,7 @@
                            )
 import Foreign.C.Types( CSize(..)
                       )
+
 
 data VkFenceCreateInfo =
   VkFenceCreateInfo{ vkSType :: VkStructureType 
diff --git a/src/Graphics/Vulkan/HeaderBoilerplate.hs b/src/Graphics/Vulkan/HeaderBoilerplate.hs
--- a/src/Graphics/Vulkan/HeaderBoilerplate.hs
+++ b/src/Graphics/Vulkan/HeaderBoilerplate.hs
@@ -2,3 +2,5 @@
 module Graphics.Vulkan.HeaderBoilerplate where
 
 
+
+
diff --git a/src/Graphics/Vulkan/Image.hs b/src/Graphics/Vulkan/Image.hs
--- a/src/Graphics/Vulkan/Image.hs
+++ b/src/Graphics/Vulkan/Image.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Image where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Text.Read.Lex( Lexeme(Ident)
@@ -53,6 +54,7 @@
                            )
 import Foreign.C.Types( CSize(..)
                       )
+
 -- ** vkCreateImage
 foreign import ccall "vkCreateImage" vkCreateImage :: 
   VkDevice ->
diff --git a/src/Graphics/Vulkan/ImageView.hs b/src/Graphics/Vulkan/ImageView.hs
--- a/src/Graphics/Vulkan/ImageView.hs
+++ b/src/Graphics/Vulkan/ImageView.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.ImageView where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Text.Read.Lex( Lexeme(Ident)
@@ -50,6 +51,7 @@
                            )
 import Foreign.C.Types( CSize(..)
                       )
+
 
 data VkImageViewCreateInfo =
   VkImageViewCreateInfo{ vkSType :: VkStructureType 
diff --git a/src/Graphics/Vulkan/KHR/Surface.hs b/src/Graphics/Vulkan/KHR/Surface.hs
--- a/src/Graphics/Vulkan/KHR/Surface.hs
+++ b/src/Graphics/Vulkan/KHR/Surface.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.KHR.Surface where
+
 import Text.Read.Lex( Lexeme(Ident)
                     )
 import GHC.Read( expectP
@@ -22,6 +23,7 @@
                                       )
 import Graphics.Vulkan.Core( VkFlags(..)
                            )
+
 -- ** VkCompositeAlphaFlagsKHR
 -- | Opaque flag
 newtype VkCompositeAlphaFlagsKHR = VkCompositeAlphaFlagsKHR VkFlags
diff --git a/src/Graphics/Vulkan/LayerDiscovery.hs b/src/Graphics/Vulkan/LayerDiscovery.hs
--- a/src/Graphics/Vulkan/LayerDiscovery.hs
+++ b/src/Graphics/Vulkan/LayerDiscovery.hs
@@ -2,6 +2,7 @@
 {-# LANGUAGE DataKinds #-}
 {-# LANGUAGE Strict #-}
 module Graphics.Vulkan.LayerDiscovery where
+
 import Data.Vector.Storable.Sized( Vector
                                  )
 import Graphics.Vulkan.Device( VkPhysicalDevice(..)
@@ -20,6 +21,7 @@
                            )
 import Foreign.C.Types( CChar
                       )
+
 
 data VkLayerProperties =
   VkLayerProperties{ vkLayerName :: Vector VK_MAX_EXTENSION_NAME_SIZE CChar 
diff --git a/src/Graphics/Vulkan/Memory.hs b/src/Graphics/Vulkan/Memory.hs
--- a/src/Graphics/Vulkan/Memory.hs
+++ b/src/Graphics/Vulkan/Memory.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Memory where
+
 import {-# SOURCE #-} Graphics.Vulkan.Device( VkDevice(..)
                                             )
 import Text.Read.Lex( Lexeme(Ident)
@@ -38,6 +39,7 @@
 import Foreign.C.Types( CSize
                       , CSize(..)
                       )
+
 newtype VkDeviceMemory = VkDeviceMemory Word64
   deriving (Eq, Storable)
 
diff --git a/src/Graphics/Vulkan/MemoryManagement.hs b/src/Graphics/Vulkan/MemoryManagement.hs
--- a/src/Graphics/Vulkan/MemoryManagement.hs
+++ b/src/Graphics/Vulkan/MemoryManagement.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE DuplicateRecordFields #-}
 {-# LANGUAGE Strict #-}
 module Graphics.Vulkan.MemoryManagement where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Graphics.Vulkan.Buffer( VkBuffer(..)
@@ -22,6 +23,7 @@
 import Graphics.Vulkan.Core( VkResult(..)
                            , VkDeviceSize(..)
                            )
+
 -- ** vkGetImageMemoryRequirements
 foreign import ccall "vkGetImageMemoryRequirements" vkGetImageMemoryRequirements :: 
   VkDevice -> VkImage -> Ptr VkMemoryRequirements -> IO ()
diff --git a/src/Graphics/Vulkan/OtherTypes.hs b/src/Graphics/Vulkan/OtherTypes.hs
--- a/src/Graphics/Vulkan/OtherTypes.hs
+++ b/src/Graphics/Vulkan/OtherTypes.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE DuplicateRecordFields #-}
 {-# LANGUAGE Strict #-}
 module Graphics.Vulkan.OtherTypes where
+
 import Graphics.Vulkan.Buffer( VkBuffer(..)
                              )
 import Graphics.Vulkan.Pass( VkAccessFlags(..)
@@ -28,6 +29,7 @@
                            , VkFlags(..)
                            , VkStructureType(..)
                            )
+
 
 data VkBufferMemoryBarrier =
   VkBufferMemoryBarrier{ vkSType :: VkStructureType 
diff --git a/src/Graphics/Vulkan/Pass.hs b/src/Graphics/Vulkan/Pass.hs
--- a/src/Graphics/Vulkan/Pass.hs
+++ b/src/Graphics/Vulkan/Pass.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Pass where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Text.Read.Lex( Lexeme(Ident)
@@ -59,6 +60,7 @@
                            )
 import Foreign.C.Types( CSize(..)
                       )
+
 
 data VkSubpassDependency =
   VkSubpassDependency{ vkSrcSubpass :: Word32 
diff --git a/src/Graphics/Vulkan/Pass.hs-boot b/src/Graphics/Vulkan/Pass.hs-boot
--- a/src/Graphics/Vulkan/Pass.hs-boot
+++ b/src/Graphics/Vulkan/Pass.hs-boot
@@ -1,9 +1,11 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Pass where
+
 import Data.Word( Word64
                 )
 import Foreign.Storable( Storable(..)
                        )
+
 newtype VkRenderPass = VkRenderPass Word64
   
 instance Eq VkRenderPass
diff --git a/src/Graphics/Vulkan/Pipeline.hs b/src/Graphics/Vulkan/Pipeline.hs
--- a/src/Graphics/Vulkan/Pipeline.hs
+++ b/src/Graphics/Vulkan/Pipeline.hs
@@ -4,6 +4,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Pipeline where
+
 import Data.Vector.Storable.Sized( Vector
                                  )
 import Graphics.Vulkan.Device( VkDevice(..)
@@ -72,6 +73,7 @@
                       , CChar
                       , CSize(..)
                       )
+
 
 data VkPipelineTessellationStateCreateInfo =
   VkPipelineTessellationStateCreateInfo{ vkSType :: VkStructureType 
diff --git a/src/Graphics/Vulkan/PipelineCache.hs b/src/Graphics/Vulkan/PipelineCache.hs
--- a/src/Graphics/Vulkan/PipelineCache.hs
+++ b/src/Graphics/Vulkan/PipelineCache.hs
@@ -2,6 +2,7 @@
 {-# LANGUAGE Strict #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.PipelineCache where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Data.Word( Word64
@@ -30,6 +31,7 @@
 import Foreign.C.Types( CSize
                       , CSize(..)
                       )
+
 -- ** vkCreatePipelineCache
 foreign import ccall "vkCreatePipelineCache" vkCreatePipelineCache :: 
   VkDevice ->
diff --git a/src/Graphics/Vulkan/PipelineLayout.hs b/src/Graphics/Vulkan/PipelineLayout.hs
--- a/src/Graphics/Vulkan/PipelineLayout.hs
+++ b/src/Graphics/Vulkan/PipelineLayout.hs
@@ -2,6 +2,7 @@
 {-# LANGUAGE Strict #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.PipelineLayout where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Data.Word( Word64
@@ -34,6 +35,7 @@
                            )
 import Foreign.C.Types( CSize(..)
                       )
+
 -- ** VkPipelineLayoutCreateFlags
 -- | Opaque flag
 newtype VkPipelineLayoutCreateFlags = VkPipelineLayoutCreateFlags VkFlags
diff --git a/src/Graphics/Vulkan/Query.hs b/src/Graphics/Vulkan/Query.hs
--- a/src/Graphics/Vulkan/Query.hs
+++ b/src/Graphics/Vulkan/Query.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Query where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Text.Read.Lex( Lexeme(Ident)
@@ -49,6 +50,7 @@
 import Foreign.C.Types( CSize
                       , CSize(..)
                       )
+
 -- ** vkGetQueryPoolResults
 foreign import ccall "vkGetQueryPoolResults" vkGetQueryPoolResults :: 
   VkDevice ->
diff --git a/src/Graphics/Vulkan/Queue.hs b/src/Graphics/Vulkan/Queue.hs
--- a/src/Graphics/Vulkan/Queue.hs
+++ b/src/Graphics/Vulkan/Queue.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE DuplicateRecordFields #-}
 {-# LANGUAGE Strict #-}
 module Graphics.Vulkan.Queue where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Graphics.Vulkan.Pipeline( VkPipelineStageFlagBits(..)
@@ -26,6 +27,7 @@
                            , VkFlags(..)
                            , VkStructureType(..)
                            )
+
 data VkQueue_T
 type VkQueue = Ptr VkQueue_T
 
diff --git a/src/Graphics/Vulkan/QueueSemaphore.hs b/src/Graphics/Vulkan/QueueSemaphore.hs
--- a/src/Graphics/Vulkan/QueueSemaphore.hs
+++ b/src/Graphics/Vulkan/QueueSemaphore.hs
@@ -2,6 +2,7 @@
 {-# LANGUAGE Strict #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.QueueSemaphore where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Data.Word( Word64
@@ -29,6 +30,7 @@
                            )
 import Foreign.C.Types( CSize(..)
                       )
+
 -- ** VkSemaphoreCreateFlags
 -- | Opaque flag
 newtype VkSemaphoreCreateFlags = VkSemaphoreCreateFlags VkFlags
diff --git a/src/Graphics/Vulkan/Sampler.hs b/src/Graphics/Vulkan/Sampler.hs
--- a/src/Graphics/Vulkan/Sampler.hs
+++ b/src/Graphics/Vulkan/Sampler.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Sampler where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Text.Read.Lex( Lexeme(Ident)
@@ -50,6 +51,7 @@
                       , CFloat(..)
                       , CSize(..)
                       )
+
 -- ** VkSamplerAddressMode
 
 newtype VkSamplerAddressMode = VkSamplerAddressMode Int32
diff --git a/src/Graphics/Vulkan/Shader.hs b/src/Graphics/Vulkan/Shader.hs
--- a/src/Graphics/Vulkan/Shader.hs
+++ b/src/Graphics/Vulkan/Shader.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.Shader where
+
 import Graphics.Vulkan.Device( VkDevice(..)
                              )
 import Text.Read.Lex( Lexeme(Ident)
@@ -46,6 +47,7 @@
 import Foreign.C.Types( CSize
                       , CSize(..)
                       )
+
 
 data VkShaderModuleCreateInfo =
   VkShaderModuleCreateInfo{ vkSType :: VkStructureType 
diff --git a/src/Graphics/Vulkan/SparseResourceMemoryManagement.hs b/src/Graphics/Vulkan/SparseResourceMemoryManagement.hs
--- a/src/Graphics/Vulkan/SparseResourceMemoryManagement.hs
+++ b/src/Graphics/Vulkan/SparseResourceMemoryManagement.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module Graphics.Vulkan.SparseResourceMemoryManagement where
+
 import Graphics.Vulkan.Device( VkPhysicalDevice(..)
                              , VkDevice(..)
                              )
@@ -62,6 +63,7 @@
                            , VkOffset3D(..)
                            , VkStructureType(..)
                            )
+
 
 data VkSparseImageMemoryRequirements =
   VkSparseImageMemoryRequirements{ vkFormatProperties :: VkSparseImageFormatProperties 
diff --git a/src/Graphics/Vulkan/Version.hs b/src/Graphics/Vulkan/Version.hs
--- a/src/Graphics/Vulkan/Version.hs
+++ b/src/Graphics/Vulkan/Version.hs
@@ -1,4 +1,14 @@
 
 module Graphics.Vulkan.Version where
 
+import Data.Bits( shiftR
+                , shiftL
+                , (.|.)
+                , (.&.)
+                )
 
+vkApiVersion  = vkMakeVersion 1 0 3
+vkVersionMinor version = (.&.) (shiftR version 12) 1023
+vkVersionPatch version = (.&.) version 4095
+vkMakeVersion major minor patch = (.|.) ((.|.) (shiftL major 22) (shiftL minor 12)) patch
+vkVersionMajor version = shiftR version 22
diff --git a/vulkan.cabal b/vulkan.cabal
--- a/vulkan.cabal
+++ b/vulkan.cabal
@@ -1,5 +1,5 @@
 name:                vulkan
-version:             1.3.0.0
+version:             1.3.1.0
 synopsis:            Bindings to the Vulkan graphics API.
 description:         Please see readme.md
 homepage:            http://github.com/expipiplus1/vulkan#readme
