diff --git a/bkr.cabal b/bkr.cabal
--- a/bkr.cabal
+++ b/bkr.cabal
@@ -1,5 +1,5 @@
 name:                bkr
-version:             0.1.1
+version:             0.1.2
 synopsis:            Backup utility for backing up to cloud storage services (S3 only right now)
 description:
         Easy to use backup tool utilizing cloud services (S3 only right now) as backup storage.
@@ -27,6 +27,7 @@
                    , System.Bkr.BkrLogging
                    , System.Bkr.BkrLocalFile
                    , System.Bkr.BkrLocalMeta
+                   , System.Bkr.BkrWriteExampleConfFile
                    , System.Bkr.TargetServices.S3.BkrS3Bucket
                    , System.Bkr.TargetServices.S3.BkrAwsConfig
 
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -4,9 +4,9 @@
 bkr is in very early development stage. Right now bkr is rather a synchronization then a backup utility. bkr uploads files from wanted folders to a remote storage service, next time it runs it checks for changes and uploads new or altered files but does not keep copies of altered files (hence rather synchronization then backup). For more information about installation and setup, release notes and more please visit https:\/\/github.com\/ingesson\/bkr. All suggestions and bug reports are of course more then welcome.
 -}
 
-import System.Bkr.BkrFundare
-import System.Bkr.BkrConfig
-import System.Bkr.BkrLogging
+import System.Bkr.BkrFundare (BkrMeta(..))
+import System.Bkr.BkrConfig (getConfFile, getLogLevel, getBackupFolders, writeBkrMetaFile)
+import System.Bkr.BkrLogging (setupLogging, logNotice, logDebug)
 import qualified System.Bkr.BkrLocalFile as F
 import qualified System.Bkr.TargetServices.S3.BkrS3Bucket as S3B
 
diff --git a/src/System/Bkr/BkrConfig.hs b/src/System/Bkr/BkrConfig.hs
--- a/src/System/Bkr/BkrConfig.hs
+++ b/src/System/Bkr/BkrConfig.hs
@@ -25,9 +25,10 @@
 
 --import Bkr.BkrLogging
 import System.Bkr.Hasher
+import System.Bkr.BkrWriteExampleConfFile (writeExampleConfFile)
 
 import System.IO
-import System.Directory (getTemporaryDirectory, getModificationTime, doesFileExist, getHomeDirectory, copyFile, getTemporaryDirectory, getAppUserDataDirectory, createDirectoryIfMissing)
+import System.Directory (getTemporaryDirectory, getModificationTime, doesFileExist, getHomeDirectory, getTemporaryDirectory, getAppUserDataDirectory, createDirectoryIfMissing)
 import System.FilePath.Posix (takeDirectory)
 import Control.Monad (liftM)
 import Data.String.Utils (split, strip, replace)
@@ -166,7 +167,7 @@
      -- Get hash of the file name
      let fullPathHash = show $ getHashForString $ fst confPair
      -- Get the full file path to the .bkrm file (<full path hash:file hash.bkrm>)
-     let fullPath = tmpDir ++ fullPathHash ++ "." ++ snd confPair
+     let fullPath = tmpDir ++ "/" ++ fullPathHash ++ "." ++ snd confPair
      -- Get file modification time
      modTime <- getModificationTime $ fst confPair 
      -- Open a file handle
@@ -212,8 +213,9 @@
      if fileExists
         then return $ Just filePath
         else do
-              copyFile "./bkr.conf.example" filePath
-              print $ "bkr configuration file could not be found. An example configuration file has been copied to your home directory, " ++ filePath ++ ". Please edit the configuration file and run bkr again."
+              --copyFile "./bkr.conf.example" filePath
+              writeExampleConfFile filePath
+              print $ "bkr configuration file could not be found. An example configuration file has been created in your home directory, " ++ filePath ++ ". Please edit the configuration file and run bkr again."
               return Nothing
 
 {-|
diff --git a/src/System/Bkr/BkrLogging.hs b/src/System/Bkr/BkrLogging.hs
--- a/src/System/Bkr/BkrLogging.hs
+++ b/src/System/Bkr/BkrLogging.hs
@@ -13,7 +13,7 @@
 import System.Log.Handler (setFormatter)
 import Data.Maybe (fromJust)
 import System.Posix.Files (getFileStatus, fileSize)
-import System.Directory (removeFile)
+import System.Directory (removeFile, doesFileExist)
 import Control.Monad (when)
 
 --import System.Log.Handler.Growl
@@ -29,11 +29,15 @@
               putStrLn "Could not find log file, please make sure to set the log file path correctly in bkr settings. Will log to stderr."
               updateGlobalLogger "bkrfile" (setLevel logLevel)
         else do
-              -- Check that the log file hasn't reached maximum size and recycle if it has
-              logFileMaxSize <- getLogFileMaximumSize
-              fileStatus <- getFileStatus (fromJust logFilePath)
-              let logFileSize = fileSize fileStatus
-              when ((read (show logFileSize) :: Int) > logFileMaxSize) (removeFile $ fromJust logFilePath)
+              -- If the log file exists, check that is hasn't reached maximum size and recycle if it has
+              logFileExists <- doesFileExist (fromJust logFilePath)
+              when logFileExists (do
+                                   logFileMaxSize <- getLogFileMaximumSize
+                                   fileStatus <- getFileStatus (fromJust logFilePath)
+                                   let logFileSize = fileSize fileStatus
+                                   when ((read (show logFileSize) :: Int) > logFileMaxSize) (do
+                                                                                              removeFile $ fromJust logFilePath
+                                                                                              print "The log file reached maximum allowed size and has been recycled."))
 
               -- File handler
               h <- fileHandler (fromJust logFilePath) DEBUG >>= \lh -> return $ setFormatter lh (tfLogFormatter "%F %X.%q" "$time|$loggername|$prio: $msg")
diff --git a/src/System/Bkr/BkrWriteExampleConfFile.hs b/src/System/Bkr/BkrWriteExampleConfFile.hs
new file mode 100644
--- /dev/null
+++ b/src/System/Bkr/BkrWriteExampleConfFile.hs
@@ -0,0 +1,7 @@
+
+module System.Bkr.BkrWriteExampleConfFile (writeExampleConfFile) where
+
+writeExampleConfFile :: FilePath -> IO ()
+writeExampleConfFile path = do
+     let s = "# Provide your awsaccesskeyid, awssecretaccesskey and S3 bucket name (the bucket needs to already be created, Bkr will not create a bucket if it doesn't exist).\nawsaccesskeyid: <your awsaccesskeyid>\nawssecretaccesskey: <your awssecretaccesskey>\ns3bucketname: <your s3bucketname>\n\n# Provide the folder to backup and any folders, file types (by file extension) and files you don't want to backup\nfolderstobackup: <comma separated list of folders to backup, for instance: folderstobackup: /Users/username/foldertobackup0, /Users/username/foldertobackup1>\nfolderstoignore: <comma separated list of folders not to backup (leave empty if you don't want to ignore any folders), for instance: folderstoignore: /Users/username/foldertobackup0/donotbackup>\nfileextensionstoignore: <comma separated list of file types not to backup (leave empty if you don't want to ignore any file types), for instance: fileextensionstoignore: .txt, .ppt, pptx>\nfilestoignore: <comma separated list of files not to backup (leave empty if you don't want to ignore any files), for instance: filestoignore: .DS_Store, .localized>\n\n# Use S3 reduced redundancy (yes or no). Please read http://aws.amazon.com/s3/faqs/#What_is_RRS for more information but if the data you are backing up is critical choose no.\nuses3reducedredundancy: no\n\n# File update check algorithm. There are three ways Bkr can determine if a uploaded (backed up) file is the same as a local file or if the local file has been updated. By checksum (safest but slowest), by change date (fastest and safe if you trust you filesystem time stamps) and smart (checksum is guaranteed to be checked every tenth run but the chance of the checksum beeing checked gets 10% higher for every run). Valid choices are: checksum (not recommended unless you need to be sure that the uploaded and local files are the same, will be slow for many and big files), date (recommended if you trust your filesystem timestamps) and smart (the recommended level)\n#fileupdatecheck: checksum\nfileupdatecheck: smart\n#fileupdatecheck: date\n\n# Log file location. Set a location of the log file. Default is $HOME/.bkr.log where $HOME is replaced with your home directory.\nlogfilelocation: $HOME/.bkr.log\n\n# Set maximum size in bytes of the log file. The log file is rotated after the size limit is reached. Default size is 5MB\nlogfilemaximumsize: 5242880\n\n# Valid log levels are: debug (verbose logginig), notify (notifications and errors, the recommended level), critical (only errors)\n#loglevel: debug\nloglevel: notify\n#loglevel: critical"
+     writeFile path s
