diff --git a/filemdl/filemdl.go b/filemdl/filemdl.go
index 5d3608d4a009cf057a8cbafbb882185c9490ac44..d0d160581604badbb4506bc459479bcc4eb9f778 100644
--- a/filemdl/filemdl.go
+++ b/filemdl/filemdl.go
@@ -2,7 +2,6 @@ package filemdl
 
 import (
 	"errors"
-	"fmt"
 	"io"
 	"io/ioutil"
 	"os"
@@ -649,17 +648,18 @@ func writeFileSafely(filePath string, data []byte, perm os.FileMode) error {
 	}
 	tmpFileName := tmpFile.Name()
 
-	// get the file mode from the original file and use that for the replacement
-	// file, too.
 	info, err := os.Stat(filePath)
-	if os.IsNotExist(err) {
-	} else if err != nil {
+	if err != nil && !os.IsNotExist(err) {
 		return err
-	} else {
+	}
+	// get the file mode from the original file and use that for the replacement
+	// file, too.
+	if err == nil {
 		if err := os.Chmod(tmpFileName, info.Mode()); err != nil {
-			return fmt.Errorf("can't set filemode on tempfile %q: %v", tmpFileName, err)
+			return errormdl.Wrap("can't set filemode on tempfile: " + tmpFileName + ", error: " + err.Error())
 		}
 	}
+
 	if err := AtomicReplaceFile(tmpFileName, filePath); err != nil {
 		return errormdl.Wrap("cannot replace " + filePath + " with " + tmpFileName)
 	}
@@ -671,6 +671,7 @@ func writeFile(filename string, data []byte, perm os.FileMode) error {
 	if err != nil {
 		return err
 	}
+	defer f.Close()
 	n, err := f.Write(data)
 	if err != nil {
 		return err
@@ -678,10 +679,5 @@ func writeFile(filename string, data []byte, perm os.FileMode) error {
 	if n < len(data) {
 		return errormdl.Wrap("short write")
 	}
-	err = f.Sync()
-	if err != nil {
-		return err
-	}
-
-	return f.Close()
+	return f.Sync()
 }
diff --git a/filemdl/filemdl_linux.go b/filemdl/filemdl_linux.go
index c5a5e2b2c0b9d616755f291c03bac09a44a3641b..acd187767d9c8ebcafabb998afd29d37eca8e74f 100644
--- a/filemdl/filemdl_linux.go
+++ b/filemdl/filemdl_linux.go
@@ -1,3 +1,4 @@
+// TODO: Build flag needs to be passed while building exe/executable
 // +build !windows
 
 package filemdl
diff --git a/filemdl/filemdl_windows.go b/filemdl/filemdl_windows.go
index ba259bbc853961483ba646579b0ac22ad9eb0204..7708f9933c99d836d11dcb25217d50768749564d 100644
--- a/filemdl/filemdl_windows.go
+++ b/filemdl/filemdl_windows.go
@@ -7,14 +7,10 @@ import (
 )
 
 const (
-	movefile_replace_existing = 0x1
-	movefile_write_through    = 0x8
-	modkernel32               = syscall.NewLazyDLL("kernel32.dll")
-
-	procMoveFileExW = modkernel32.NewProc("MoveFileExW")
-	modkernel32     = syscall.NewLazyDLL("kernel32.dll")
-
-	procMoveFileExW = modkernel32.NewProc("MoveFileExW")
+	moveFileReplacExisting = 0x1
+	moveFileWriteThrough   = 0x8
+	modkernel32            = syscall.NewLazyDLL("kernel32.dll")
+	procMoveFileExW        = modkernel32.NewProc("MoveFileExW")
 )
 
 //sys moveFileEx(lpExistingFileName *uint16, lpNewFileName *uint16, dwFlags uint32) (err error) = MoveFileExW
@@ -33,7 +29,7 @@ func AtomicReplaceFile(source, destination string) error {
 	}
 
 	// see http://msdn.microsoft.com/en-us/library/windows/desktop/aa365240(v=vs.85).aspx
-	if err := moveFileEx(src, dest, movefile_replace_existing|movefile_write_through); err != nil {
+	if err := moveFileEx(src, dest, moveFileReplacExisting|moveFileWriteThrough); err != nil {
 		return &os.LinkError{"replace", source, destination, err}
 	}
 	return nil
diff --git a/filemdl/filepack/filePack.go b/filemdl/filepack/filePack.go
index d477876a3c67ce9a8fdf83b799182573a1672690..835cdb309499c3062ff8bf831ffcd1a16fc60524 100644
--- a/filemdl/filepack/filePack.go
+++ b/filemdl/filepack/filePack.go
@@ -16,7 +16,7 @@ import (
 	"corelab.mkcl.org/MKCLOS/coredevelopmentplatform/corepkgv2/filemdl"
 
 	"corelab.mkcl.org/MKCLOS/coredevelopmentplatform/corepkgv2/hashmdl"
-	//"corelab.mkcl.org\MKCLOS\coredevelopmentplatform\corepkgv2\securitymdl\securitymdl.go"
+
 	"github.com/tidwall/gjson"
 
 	"github.com/tidwall/sjson"
diff --git a/filemdl/filepack/filepack_test.go b/filemdl/filepack/filepack_test.go
index 33bf70a25e9498bdb7333d1229ce473a72237012..ba637e82b635585fc91c81056812f8c132ce31d9 100644
--- a/filemdl/filepack/filepack_test.go
+++ b/filemdl/filepack/filepack_test.go
@@ -88,7 +88,7 @@ func BenchmarkGetFileDataFromPack(b *testing.B) {
 }
 
 func TestFastWriteFile(t *testing.T) {
-	err := filemdl.FastWriteFile("/home/vivekn/pqr", []byte("how are you"), false, false, true)
+	err := filemdl.FastWriteFile("C:/Users/shridharp/Desktop/Test/testF.txt", []byte("how are you"), true, true)
 	if err != nil {
 		log.Fatal(err)
 	}