diff --git a/cli.js b/cli.js
index f5644acb..552d85df 100644
--- a/cli.js
+++ b/cli.js
@@ -2,47 +2,45 @@
 
 const chalk = require('chalk');
 const editJsonFile = require('edit-json-file');
-const util = require('util');
 const fs = require('fs');
+const path = require('path');
+const util = require('util');
 
 const asyncMkdir = util.promisify(fs.mkdir);
-
-const CURR_DIR = process.cwd();
-const isWindows = process.platform === 'win32';
+const CWD = process.cwd();
 
 const createDirectoryContents = async (starterKitPath, newProjectPath) => {
   const filesToCreate = fs.readdirSync(starterKitPath);
 
   filesToCreate.forEach(file => {
-    const origFilePath = `${starterKitPath}/${file}`;
+    const origFilePath = path.resolve(starterKitPath, file);
+    const writePath = path.resolve(newProjectPath, file);
 
     const stats = fs.statSync(origFilePath);
 
     if (stats.isFile()) {
       const contents = fs.readFileSync(origFilePath, 'utf8');
-
-      const writePath = `${CURR_DIR}/${newProjectPath}/${file}`;
-      fs.writeFileSync(writePath, contents, 'utf8');
+      fs.writeFileSync(
+        path.resolve(CWD, writePath),
+        contents,
+        'utf8'
+      );
     } else if (stats.isDirectory()) {
-      fs.mkdirSync(`${CURR_DIR}/${newProjectPath}/${file}`);
+      fs.mkdirSync(path.resolve(CWD, writePath);
 
-      createDirectoryContents(
-        `${starterKitPath}/${file}`,
-        `${newProjectPath}/${file}`
-      );
+      createDirectoryContents(origFilePath, writePath);
     }
   });
 };
 
 const editFiles = async projectName => {
-  let file = editJsonFile(`${__dirname}/starter-kit/package.json`);
-
+  let file = editJsonFile(path.resolve(__dirname, 'starter-kit', 'package.json');
   file.set('name', projectName);
   file.save();
 
   fs.rename(
-    `${__dirname}/starter-kit/gitignore`,
-    `${__dirname}/starter-kit/.gitignore`,
+    path.resolve(__dirname, 'starter-kit', 'gitignore'),
+    path.resolve(__dirname, 'starter-kit', '.gitignore'),
     function (err) {
       if (err) throw err;
     }
@@ -56,9 +54,7 @@ const checkDirectory = async () => {
     throw 'You should input 1 argument as the project name';
   } else {
     const projectName = process.argv[2];
-    const directory = isWindows
-      ? `${CURR_DIR}\\${projectName}`
-      : `${CURR_DIR}/${projectName}`;
+    const directory = path.resolve(CWD, projectName);
 
     console.log(`\n\nCreating a new starter kit in ${chalk.cyan(directory)}\n`);
     return projectName;
@@ -91,11 +87,11 @@ const successText = projectName => {
 const run = async () => {
   const projectName = await checkDirectory();
 
-  const starterKitPath = `${__dirname}/starter-kit/`;
+  const starterKitPath = path.resolve(__dirname, 'starter-kit');
 
   await editFiles(projectName);
 
-  await asyncMkdir(`${CURR_DIR}/${projectName}`);
+  await asyncMkdir(path.resolve(CWD, projectName));
 
   await createDirectoryContents(starterKitPath, projectName);