   
   while true {
     print("Select template number : ", terminator: "")
-    let input = readLine() ?? "0"
-    guard let num = Int(input), num >= 0, num < templates.count else {
+    let input = readLine() ?? "1"
+    guard let num = Int(input), num >= 1, num <= templates.count else {
       print("Wrong Value\n")
       continue
     }
     
-    templateName = templates[num]
+    templateName = templates[num-1]
     printInConsole("\(templateName) is selected")
     print()
     break

switch CommandLine.argc {
case 1:
  setup()
case 2:
  if arguments[1] == "-getfile" {
    guard isRootUserWithSudoCommand() else {
      authorityAlert(needSudo: true)
      break
    }
    getBaseTemplate(type: .file)
  }
  else if arguments[1] == "-getproject" {
    guard isRootUserWithSudoCommand() else {
      authorityAlert(needSudo: true)
      break
    }
    getBaseTemplate(type: .project)
  }
  else {
    print("Illegal option")
    print("usage : swift install_template.swift [-getfile / -getproject]")
  }
default:
  print("Illegal option. Only one option available at a time ")
}

  
  while true {
    print("Select Target Path Number : ", terminator: "")
    let input = readLine() ?? "1"
    guard let num = Int(input), num >= 1, num <= 4 else {
      print("Wrong Value\n")
      continue
    }
    
    switch num {
    case 1:
      guard !isRootUserWithSudoCommand() else {
        authorityAlert(needSudo: false)
        return
      }
    case 2:
      guard !isRootUserWithSudoCommand() else {
        authorityAlert(needSudo: false)
        return
      }
      directoryPath = userHomeDirectory
      pathEndPoint = PathEndPoint.customProjectTemplate.rawValue
    case 3:
      guard isRootUserWithSudoCommand() else {
        authorityAlert(needSudo: true)
        return
      }
      directoryPath = xcodeBasePath
      pathEndPoint = PathEndPoint.xcodeFileTemplate.rawValue
    case 4:
      guard isRootUserWithSudoCommand() else {
        authorityAlert(needSudo: true)
        return
