diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright 2013 Benno Fünfstück
+Copyright 2013-2014 Benno Fünfstück
 
 All rights reserved.
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -40,7 +40,6 @@
 ```
 
 This will initialize the template with the given name in a new directory with the name of the project.
-
 To list all available templates, run:
 
 ```
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -3,7 +3,7 @@
 module Main where
 
 import           Control.Error
-import           Control.Exception
+import qualified Control.Exception as E
 import           Control.Monad
 import           Control.Monad.Trans.Class
 import           Data.Configurator
@@ -64,10 +64,10 @@
   contents <- lift $ filter (not . flip elem [".",".."]) <$> getDirectoryContents temp
   dirs <- lift $ filterM (doesDirectoryExist . (temp </>)) contents
   files <- lift $ filterM (doesFileExist . (temp </>)) contents
-  
+
   forM_ files $ \file -> do
     let lookupVar "project.name" = return $ Just $ T.pack proj
-        lookupVar x = lookup c x 
+        lookupVar x = lookup c x
     let substitute = fmapLT (mappend $ T.pack file <> ":Error: Undeclared variable ") . substituteBetween "{{" "}}" (evalPattern lookupVar)
 
     content <- lift $ T.readFile (temp </> file)
@@ -76,12 +76,27 @@
 
     e <- lift $ doesFileExist (target </> file')
     when (e && not amend) $ left $ ":Error: Target file " <> T.pack (target </> file') <> " does already exist."
-    unless e $ lift $ T.writeFile (target </> file') content'
-    
-  forM_ dirs $ \dir -> do 
-    lift $ createDirectoryIfMissing True $ target </> dir 
+    unless e $ lift $ do
+      T.writeFile (target </> file') content'
+      perm <- getPermissions (temp </> file)
+      perm' <- getPermissions (target </> file')
+      setPermissions (target </> file') $ perm' { executable = executable perm }
+
+  forM_ dirs $ \dir -> do
+    lift $ createDirectoryIfMissing True $ target </> dir
     instantiateTemplate proj amend c (temp </> dir) (target </> dir)
 
+-- | Copy the contents of a directory to another directory
+copyDirContents :: String -> String -> IO ()
+copyDirContents source target = do
+  contents <- filter (not . flip elem ["..","."]) <$> getDirectoryContents source
+  dirs <- filterM (doesDirectoryExist . (source </>)) contents
+  files <- filterM (doesFileExist . (source </>)) contents
+  forM_ files $ \file -> copyFile (source </> file) (target </> file)
+  forM_ dirs $ \dir -> do
+    createDirectoryIfMissing False (target </> dir)
+    copyDirContents (source </> dir) (target </> dir)
+
 -- | Top level subcommand handler. Switches on the subcommand and performs the given action.
 -- Takes 3 arguments: The configuration, the path to the appUserDataDirectory and the command.
 handleCmd :: Config -> String -> Cmd -> IO ()
@@ -94,12 +109,12 @@
   targetExists <- doesDirectoryExist proj
   unless targetExists $ createDirectory proj
   projPath <- canonicalizePath proj
-  res <- runEitherT (instantiateTemplate proj amend c (appData </> temp) projPath) `catch` \(exc :: SomeException) ->
-    unless targetExists (removeDirectoryRecursive projPath) >> throw exc
+  res <- runEitherT (instantiateTemplate proj amend c (appData </> temp) projPath) `E.catch` \(exc :: E.SomeException) ->
+    unless targetExists (removeDirectoryRecursive projPath) >> E.throwIO exc
   case res of
     Left m -> do
       T.putStrLn m
-      removeDirectoryRecursive projPath
+      unless targetExists $ removeDirectoryRecursive projPath
       exitFailure
     Right () -> exitSuccess
 
diff --git a/themplate.cabal b/themplate.cabal
--- a/themplate.cabal
+++ b/themplate.cabal
@@ -1,5 +1,5 @@
 name:          themplate
-version:       0.1
+version:       1.1
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
@@ -8,7 +8,7 @@
 stability:     experimental
 homepage:      http://github.com/bennofs/themplate/
 bug-reports:   http://github.com/bennofs/themplate/issues
-copyright:     Copyright (C) 2013 Benno Fünfstück
+copyright:     Copyright (C) 2013-2014 Benno Fünfstück
 synopsis:      themplate
 description:   themplate
 build-type:    Simple
