diff --git a/chunk.go b/chunk.go
index 371db9e..dd30b99 100644
--- a/chunk.go
+++ b/chunk.go
@@ -1,16 +1,18 @@
 package main
 
-import "context"
-import "flag"
-import "fmt"
-import "log"
-import "net"
-import "time"
+import (
+	"context"
+	"flag"
+	"fmt"
+	"log"
+	"net"
+	"time"
 
-import "google.golang.org/grpc"
+	"google.golang.org/grpc"
 
-import "pcloud/api"
-import "pcloud/chunk"
+	"pcloud/api"
+	"pcloud/chunk"
+)
 
 var masterAddress = flag.String("master", "localhost:123", "Metadata storage address.")
 var selfAddress = flag.String("self", "", "Metadata storage address.")
diff --git a/chunk/in_memory.go b/chunk/in_memory.go
index e9c7f5c..cd95427 100644
--- a/chunk/in_memory.go
+++ b/chunk/in_memory.go
@@ -1,7 +1,9 @@
 package chunk
 
-import "bytes"
-import "io"
+import (
+	"bytes"
+	"io"
+)
 
 type InMemoryChunk struct {
 	payload bytes.Buffer
diff --git a/chunk/in_memory_test.go b/chunk/in_memory_test.go
index 04b8a09..7970d14 100644
--- a/chunk/in_memory_test.go
+++ b/chunk/in_memory_test.go
@@ -1,7 +1,9 @@
 package chunk
 
-import "bytes"
-import "testing"
+import (
+	"bytes"
+	"testing"
+)
 
 func TestConcurrentReads(t *testing.T) {
 	c := InMemoryChunkFactory{}.New()
diff --git a/chunk/primary.go b/chunk/primary.go
deleted file mode 100644
index 7120eaa..0000000
--- a/chunk/primary.go
+++ /dev/null
@@ -1,5 +0,0 @@
-package chunk
-
-func NewPrimaryReplicaChunk(chunkId, primaryChunkServer string) Chunk {
-	return nil
-}
diff --git a/chunk/remote.go b/chunk/remote.go
index fb0ce48..1cb57f1 100644
--- a/chunk/remote.go
+++ b/chunk/remote.go
@@ -1,10 +1,12 @@
 package chunk
 
-import "context"
-import "errors"
-import "io"
+import (
+	"context"
+	"errors"
+	"io"
 
-import "pcloud/api"
+	"pcloud/api"
+)
 
 type RemoteChunk struct {
 	chunkId string
diff --git a/chunk/replicator.go b/chunk/replicator.go
index 5609266..1c77534 100644
--- a/chunk/replicator.go
+++ b/chunk/replicator.go
@@ -1,11 +1,13 @@
 package chunk
 
-import "context"
-import "io"
+import (
+	"context"
+	"io"
 
-import "google.golang.org/grpc"
+	"google.golang.org/grpc"
 
-import "pcloud/api"
+	"pcloud/api"
+)
 
 type PrimaryReplicaChangeListener interface {
 	ChunkId() string
diff --git a/chunk/server.go b/chunk/server.go
index 2ec19b4..2829471 100644
--- a/chunk/server.go
+++ b/chunk/server.go
@@ -1,11 +1,14 @@
 package chunk
 
-import "bytes"
-import "context"
-import "io"
-import "sync"
+import (
+	"bytes"
+	"context"
+	"io"
 
-import "pcloud/api"
+	"sync"
+
+	"pcloud/api"
+)
 
 type ChunkServer struct {
 	factory          ChunkFactory
diff --git a/chunk/server_test.go b/chunk/server_test.go
index 1a808d3..f57a925 100644
--- a/chunk/server_test.go
+++ b/chunk/server_test.go
@@ -1,10 +1,12 @@
 package chunk
 
-import "context"
-import "bytes"
-import "testing"
+import (
+	"bytes"
+	"context"
+	"testing"
 
-import "pcloud/api"
+	"pcloud/api"
+)
 
 func TestStoreChunk(t *testing.T) {
 	s := ChunkServer{factory: &InMemoryChunkFactory{}}
diff --git a/master.go b/master.go
index f973e85..7f3bb86 100644
--- a/master.go
+++ b/master.go
@@ -1,14 +1,16 @@
 package main
 
-import "flag"
-import "fmt"
-import "log"
-import "net"
+import (
+	"flag"
+	"fmt"
+	"log"
+	"net"
 
-import "google.golang.org/grpc"
+	"google.golang.org/grpc"
 
-import "pcloud/api"
-import "pcloud/master"
+	"pcloud/api"
+	"pcloud/master"
+)
 
 var port = flag.Int("port", 123, "Port to listen on.")
 
diff --git a/master/server.go b/master/server.go
index 2eb2898..70c6d29 100644
--- a/master/server.go
+++ b/master/server.go
@@ -1,12 +1,14 @@
 package master
 
-import "context"
-import "log"
-import "math/rand"
+import (
+	"context"
+	"log"
+	"math/rand"
 
-import "github.com/google/uuid"
+	"github.com/google/uuid"
 
-import "pcloud/api"
+	"pcloud/api"
+)
 
 type chunkServers struct {
 	address string
