   } deriving (Show)
 
 data Texture = Texture {
-    mWidth'Texture :: CUInt
-  , mHeight'Texture :: CUInt
-  , achFormatHint'Texture :: String
-  , pcData'Texture :: [Texel]
+    mWidth        :: CUInt
+  , mHeight       :: CUInt
+  , achFormatHint :: String
+  , pcData        :: [Texel]
   } deriving (Show)
 {#pointer *aiTexture as TexturePtr -> Texture#}
 
 data UVTransform = UVTransform {
-    mTranslation'UVTransform :: Vector2D
-  , mScaling'UVTransform     :: Vector2D
-  , mRotation'UVTransform    :: Float
+    mTranslation :: Vector2D
+  , mScaling     :: Vector2D
+  , mRotation    :: Float
   } deriving (Show)
 
 data Light = Light {
-    mName'Light                 :: String
-  , mType'Light                 :: LightSourceType
-  , mPosition'Light             :: Vector3D
-  , mDirection'Light            :: Vector3D
-  , mAttenuationConstant'Light  :: Float
-  , mAttenuationLinear'Light    :: Float
-  , mAttenuationQuadratic'Light :: Float
-  , mColorDiffuse'Light         :: Color3D
-  , mColorSpecular'Light        :: Color3D
-  , mColorAmbient'Light         :: Color3D
-  , mAngleInnerCone'Light       :: Float
-  , mAngleOuterCone'Light       :: Float
+    lightMName                 :: String
+  , mType                 :: LightSourceType
+  , lightMPosition             :: Vector3D
+  , mDirection            :: Vector3D
+  , mAttenuationConstant  :: Float
+  , mAttenuationLinear    :: Float
+  , mAttenuationQuadratic :: Float
+  , mColorDiffuse         :: Color3D
+  , mColorSpecular        :: Color3D
+  , mColorAmbient         :: Color3D
+  , mAngleInnerCone       :: Float
+  , mAngleOuterCone       :: Float
   } deriving (Show)
 {#pointer *aiLight as LightPtr -> Light#}
 
 data Camera = Camera {
-    mName'Camera          :: String
-  , mPosition'Camera      :: Vector3D
-  , mUp'Camera            :: Vector3D
-  , mLookAt'Camera        :: Vector3D
-  , mHorizontalFOV'Camera :: Float
-  , mClipPlaneNear'Camera :: Float
-  , mClipPlaneFar'Camera  :: Float
-  , mAspect'Camera        :: Float
+    cameraMName    :: String
+  , mPosition      :: Vector3D
+  , mUp            :: Vector3D
+  , mLookAt        :: Vector3D
+  , mHorizontalFOV :: Float
+  , mClipPlaneNear :: Float
+  , mClipPlaneFar  :: Float
+  , mAspect        :: Float
   } deriving (Show)
 {#pointer *aiCamera as CameraPtr -> Camera#}
 
 data Scene = Scene
-  { mFlags'Scene         :: [SceneFlags]
-  , mRootNode'Scene      :: Node
-  , mMeshes'Scene        :: [Mesh]
-  , mMaterials'Scene     :: [Material]
-  , mAnimations'Scene    :: [Animation]
-  , mTextures'Scene      :: [Texture]
-  , mLights'Scene        :: [Light]
-  , mCameras'Scene       :: [Camera]
+  { mFlags         :: [SceneFlags]
+  , mRootNode      :: Node
+  , mMeshes        :: [Mesh]
+  , mMaterials     :: [Material]
+  , mAnimations    :: [Animation]
+  , mTextures      :: [Texture]
+  , mLights        :: [Light]
+  , mCameras       :: [Camera]
   } deriving (Show)
 {#pointer *aiScene as ScenePtr -> Scene#}

  } deriving (Show)

data Animation = Animation {
    mName'Animation           :: String
  , mDuration'Animation       :: Double
  , mTicksPerSecond'Animation :: Double
  , mChannels'Animation       :: [NodeAnim]
  , mMeshChannels'Animation   :: [MeshAnim]
  } deriving (Show)
{#pointer *aiAnimation as AnimationPtr -> Animation#}


{#pointer *aiMaterialProperty as MaterialPropertyPtr -> MaterialProperty#}

data Material = Material {
    mProperties :: [MaterialProperty]
  } deriving (Show)
{#pointer *aiMaterial as MaterialPtr -> Material#}

