diff --git a/HNumeric.cabal b/HNumeric.cabal
--- a/HNumeric.cabal
+++ b/HNumeric.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: ce543fbe9d1a2354607564a7cc9b45578ee49880af97240e46e90d23d3a5579b
+-- hash: c5d1ade7480449723b6215fe9d6fe260a29e127d440ff4511d5d3f926c680586
 
 name:           HNumeric
-version:        0.3.1.0
+version:        0.3.2.0
 synopsis:       Haskell Numeric Library with pure functionality, R & MATLAB Syntax.
 description:    Please see the README on GitHub at <https://github.com/Axect/HNumeric#readme>
 category:       HNum, library, Numeric, LinearAlgebra, Statistics, bsd3
diff --git a/src/HNum/CSV.hs b/src/HNum/CSV.hs
--- a/src/HNum/CSV.hs
+++ b/src/HNum/CSV.hs
@@ -12,31 +12,20 @@
 
 -- | Type Aliases for convenience
 type Header = [String]
-type Label = [String]
 
 -- | DataFrame structure to write csv
-data DataFrame a = DataFrame { header :: Header, dat :: Matrix a, lab :: Label} deriving (Show, Eq)
+data DataFrame a = DataFrame { header :: Header, dat :: Matrix a} deriving (Show, Eq)
 
--- | No label dataframe
+-- | dataframe constructor
 dataframe :: Header -> Matrix a -> DataFrame a
-dataframe h m | length h == row m = DataFrame h m (replicate n "value")
+dataframe h m | length h == row m = DataFrame h m
               | otherwise         = error "Length of Header != Length of Data"
   where n = length m `div` length h
 
--- | With label dataframe
-dataframe' :: Header -> Matrix a -> Label -> DataFrame a
-dataframe' h m l
-  | length h == row m && row m == length l = DataFrame h m l
-  | otherwise = error "Length of Header != Length of Data != Length of Label"
-
--- | No label dataframe from Vectors
+-- | dataframe from vectors
 fromVectors :: Header -> [Vector a] -> DataFrame a
 fromVectors h vs = dataframe h (matrix vs') where vs' = map toList vs
 
--- | With label dataframe from Vectors
-fromVectors' :: Header -> [Vector a] -> Label -> DataFrame a
-fromVectors' h vs = dataframe' h (matrix vs') where vs' = map toList vs
-
 instance Functor DataFrame where
   fmap f df = df { dat = fmap f (dat df) }
 
@@ -55,10 +44,9 @@
   write title m = writeFile title (toString m)
 
 instance CSVtize DataFrame where
-  toString (DataFrame h m l) = h' ++ "\n" ++ m'
-    where h' = cm h ++ ",label"
-          m' = foldr ((\x y -> x ++ "\n" ++ y) . cm) "" $ matForm $ hcat (show <$> transpose m) l'
-          l' = transpose $ matrix [l]
+  toString (DataFrame h m) = h' ++ "\n" ++ m'
+    where h' = cm h
+          m' = toString (transpose m)
   write title df = writeFile title (toString df)
 
 
diff --git a/src/HNum/Stats.hs b/src/HNum/Stats.hs
--- a/src/HNum/Stats.hs
+++ b/src/HNum/Stats.hs
@@ -11,13 +11,13 @@
 import           HNum.Vector
 import           Data.Random.Normal
 import           System.Random
+import           HNum.CSV
 
 -- | To contain coefficients of linear regression.
 type Coeff a = (a, a)
 --------------------------------------------------------
 -- Basic Probability
 --------------------------------------------------------
-
 -- | Factorial
 fac :: Integral a => a -> a
 fac 0 = 1
@@ -36,38 +36,116 @@
 c :: Integral a => a -> a -> a
 n `c` r = (n `p` r) `div` fac r
 
-
-
 --------------------------------------------------------
 -- Basic Statistics
 --------------------------------------------------------
 -- | Basic Statistics Class for Vector
 class VecOps v => Statistical v where
+  -- | Sample Mean
   mean :: Fractional a => v a -> a
   -- | Single Valued covariance
   cov' :: Floating a => v a -> v a -> a
   -- | Covariance Matrix
   cov :: Floating a => v a -> v a -> Matrix a
+  -- | Sample Variance
   var :: Floating a => v a -> a
+  -- | Sample Standard deviation
   std :: Floating a => v a -> a
+  -- | Standard Error
+  se :: Floating a => v a -> a
   -- | Correlation Coefficient
   cor :: Floating a => v a -> v a -> a
+  -- | Median
+  med :: (Ord a, Floating a) => v a -> a
+  -- | Mode
+  mode :: Eq a => v a -> a
+  -- | Coefficient of Variation
+  cv :: Floating a => v a -> a
+  -- | Moment
+  moment :: Floating a => a -> v a-> a
+  -- | Skewness
+  skew :: Floating a => v a -> a
+  -- | Skewness 2
+  skew' :: Floating a => v a -> a
+  -- | kurtosis
+  kurt :: Floating a => v a -> a
 
 instance Statistical Vector where
+  -- mean
   mean x = sum x / fromIntegral (length x)
+  -- cov'
   cov' x y
     | length x <= 1 || length y <= 1 = error "Samples are not enough"
     | length x /= length y = error "Length is not same"
     | otherwise = ((x .- mean x) .*. (y .- mean y)) / fromIntegral (length x - 1)
+  -- cov
   cov x y = matrix [[var x, cov' x y], [cov' y x, var y]]
+  -- var
   var v = cov' v v
+  -- std
   std = sqrt . var
+  -- se
+  se x = std x / sqrt (fromIntegral (length x))
+  -- cor
   cor x y = cov' x y / (std x * std y)
+  -- med
+  med x | even l    = ((qs !! (l'-1)) + (qs !! l')) / 2
+        | otherwise = qs !! l'
+    where l  = length x
+          l' = l `div` 2
+          qs = (toList . qsort) x
+  -- mode
+  mode x = v !! n
+    where v  = toList x
+          cx = map (`count` v) v
+          m  = maximum cx
+          n  = head $ dropWhile (\p -> cx !! p /= m) [0..]
+  -- cv
+  cv x = std x / mean x
+  -- moment
+  moment n x = sum ((x .- mean x) .^ n)
+  -- skew
+  skew x = (1 / fromIntegral l) * moment 3 x / std x ^ 3
+    where l = length x
+  skew' x = (fromIntegral l^2 / fromIntegral ((l-1) * (l-2))) * skew x
+    where l = length x
+  -- kurt
+  kurt x = moment 4 x / (fromIntegral l * std x ** 4) - 3
+    where l = length x
 
 --------------------------------------------------------
--- Distribution  
+-- For IO
 --------------------------------------------------------
+summary :: (Show a, Floating a) => DataFrame a -> IO ()
+summary df = do
+  putStrLn $ "Mean: " ++ show hm
+  putStrLn $ "Var:  " ++ show hv
+  putStrLn $ "Std:  " ++ show hs
+ where
+  h  = header df
+  m  = matForm $ dat df
+  ms = map (mean . vector) m
+  vs = map (var . vector) m
+  ss = map (std . vector) m
+  hm = zip h ms
+  hv = zip h vs
+  hs = zip h ss
 
+describe :: (Show a, Floating a, Ord a) => Vector a -> IO ()
+describe v = do
+  putStrLn $ "n:    " ++ show (length v)
+  putStrLn $ "mean: " ++ show (mean v)
+  putStrLn $ "std:  " ++ show (std v)
+  putStrLn $ "med:  " ++ show (med v)
+  putStrLn $ "mode: " ++ show (mode v)
+  putStrLn $ "min:  " ++ show (minimum v)
+  putStrLn $ "max:  " ++ show (maximum v)
+  putStrLn $ "skew: " ++ show (skew v)
+  putStrLn $ "kurt: " ++ show (kurt v)
+  putStrLn $ "SE:   " ++ show (se v)
+--------------------------------------------------------
+-- Linear Regression
+--------------------------------------------------------
 -- | Least Square Method - (Intercept, Slope)
 lm :: Floating a => Vector a -> Vector a -> Coeff a
 lm x y = (my - b1 * mx, b1)
@@ -87,3 +165,11 @@
 -- | Relative Standard Error
 rse :: Floating a => Vector a -> Vector a -> a
 rse x y = sqrt (1 / fromIntegral (length x - 2) * rss x y)
+
+--------------------------------------------------------
+-- Backend Functions
+--------------------------------------------------------
+
+-- | Count Elements
+count :: Eq a => a -> [a] -> Int
+count p v = length (filter (== p) v)
diff --git a/src/HNum/Vector.hs b/src/HNum/Vector.hs
--- a/src/HNum/Vector.hs
+++ b/src/HNum/Vector.hs
@@ -20,6 +20,9 @@
 vector :: [a] -> Vector a
 vector = Vector
 
+vec :: [a] -> Vector a
+vec = Vector
+
 -- Instance Section
 instance Functor Vector where
   fmap f (Vector x) = Vector (fmap f x)
@@ -238,6 +241,20 @@
 (.:) :: Vector a -> Matrix a -> Matrix a
 v .: m | length v == col m = matrix (toList v : matForm m)
        | otherwise         = error "Can't insert length(Vector) /= col(Matrix)"
+
+---------------------------------------------------
+-- Sort
+---------------------------------------------------
+-- | Quick Sort
+qsort :: Ord a => Vector a -> Vector a
+qsort (Vector []) = vec []
+qsort (Vector (x : xs)) =
+  (qsort . vec) [ y | y <- xs, y <= x ] `hcat` vec [x] `hcat` (qsort . vec)
+    [ y | y <- xs, y > x ]
+
+-- | Merge Sort
+--msort :: Ord a => Vector a -> Vector a
+--msort 
 
 ---------------------------------------------------
 -- Backend Functions (Do not Understand)
