diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..36ef9db
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,12 @@
+SHELL := /bin/bash
+.DEFAULT_GOAL := run
+.PHONY: run
+
+run:
+	 go run main.go \
+	 		filechangeinfo.go  \
+			filenode.go \
+			filetree.go \
+			tar_read.go \
+			filetreeview.go \
+			layerview.go
diff --git a/filechangeinfo.go b/filechangeinfo.go
index 8a4360a..faa85ba 100644
--- a/filechangeinfo.go
+++ b/filechangeinfo.go
@@ -1,8 +1,8 @@
 package main
 
 import (
-	"fmt"
 	"bytes"
+	"fmt"
 )
 
 type FileChangeInfo struct {
@@ -58,5 +58,3 @@ func (a *FileChangeInfo) getDiffType(b *FileChangeInfo) DiffType {
 	}
 	return Changed
 }
-
-
diff --git a/filechangeinfo_test.go b/filechangeinfo_test.go
index 38cc2c9..a1152ff 100644
--- a/filechangeinfo_test.go
+++ b/filechangeinfo_test.go
@@ -1,8 +1,8 @@
 package main
 
 import (
-	"testing"
 	"fmt"
+	"testing"
 )
 
 func TestAssignDiffType(t *testing.T) {
diff --git a/filenode.go b/filenode.go
index 1d78d18..ec06eef 100644
--- a/filenode.go
+++ b/filenode.go
@@ -10,7 +10,7 @@ type FileNode struct {
 	parent    *FileNode
 	name      string
 	collapsed bool
-	data       *FileChangeInfo
+	data      *FileChangeInfo
 	children  map[string]*FileNode
 }
 
@@ -40,7 +40,6 @@ func (node *FileNode) Copy() *FileNode {
 	return newNode
 }
 
-
 func (node *FileNode) AddChild(name string, data *FileChangeInfo) (child *FileNode) {
 	child = NewNode(node, name, data)
 	if node.children[name] != nil {
@@ -82,7 +81,6 @@ func (node *FileNode) Visit(visiter Visiter) error {
 	return visiter(node)
 }
 
-
 func (node *FileNode) VisitDepthParentFirst(visiter Visiter, evaluator VisitEvaluator) error {
 	err := visiter(node)
 	if err != nil {
@@ -131,7 +129,6 @@ func (node *FileNode) Path() string {
 	return "/" + strings.Join(path, "/")
 }
 
-
 func (node *FileNode) IsLeaf() bool {
 	return len(node.children) == 0
 }
diff --git a/filenode_test.go b/filenode_test.go
index 2477773..910912c 100644
--- a/filenode_test.go
+++ b/filenode_test.go
@@ -2,7 +2,6 @@ package main
 
 import "testing"
 
-
 func TestAddChild(t *testing.T) {
 	var expected, actual int
 	tree := NewTree()
@@ -106,4 +105,4 @@ func TestIsWhiteout(t *testing.T) {
 	if p2.IsWhiteout() != true {
 		t.Errorf("Expected path '%s' to be a whiteout file", p2.name)
 	}
-}
\ No newline at end of file
+}
diff --git a/filetree.go b/filetree.go
index f732977..3c87231 100644
--- a/filetree.go
+++ b/filetree.go
@@ -18,7 +18,6 @@ const (
 	collapsedItem   = "⊕ "
 )
 
-
 type FileTree struct {
 	root *FileNode
 	size int
@@ -88,7 +87,6 @@ func (tree *FileTree) String() string {
 	return "." + newLine + walkTree(tree.Root(), []bool{}, 0)
 }
 
-
 func (tree *FileTree) Copy() *FileTree {
 	newTree := NewTree()
 	*newTree = *tree
@@ -178,7 +176,6 @@ func (tree *FileTree) RemovePath(path string) error {
 	return node.Remove()
 }
 
-
 func (tree *FileTree) compare(upper *FileTree) error {
 	graft := func(node *FileNode) error {
 		if node.IsWhiteout() {
@@ -220,4 +217,4 @@ func StackRange(trees []*FileTree, index uint) *FileTree {
 		tree.Stack(trees[idx])
 	}
 	return tree
-}
\ No newline at end of file
+}