diff --git a/api/api.proto b/api/api.proto
index 6640afd..6372af3 100644
--- a/api/api.proto
+++ b/api/api.proto
@@ -4,10 +4,17 @@
 
 option go_package = "api";
 
-message Chunk {
-	string chunk_id = 1;
-	int32 size_bytes = 2;
-	bytes data = 3;
+enum ChunkStatus {
+     NEW = 0;
+     CREATED = 1;
+     WRITING = 2;
+     REPLICATING = 3;
+     READY = 4;
+}
+
+enum ReplicaRole {
+     SECONDARY = 0;
+     PRIMARY = 1;
 }
 
 // ChunkStorage
@@ -15,13 +22,17 @@
 service ChunkStorage {
 	rpc ListChunks(ListChunksRequest) returns (ListChunksResponse) {}
 
+	rpc CreateChunk(CreateChunkRequest) returns (CreateChunkResponse) {}
+
+	rpc GetChunkStatus(GetChunkStatusRequest) returns (GetChunkStatusResponse) {}
+
 	rpc ReadChunk(ReadChunkRequest) returns (ReadChunkResponse) {}
 
+	rpc WriteChunk(WriteChunkRequest) returns (WriteChunkResponse) {}
+
 	rpc StoreChunk(StoreChunkRequest) returns (StoreChunkResponse) {}
 
 	rpc RemoveChunk(RemoveChunkRequest) returns (RemoveChunkResponse) {}
-
-	rpc ReplicateChunk(ReplicateChunkRequest) returns (ReplicateChunkResponse) {}
 }
 
 message ListChunksRequest {
@@ -31,6 +42,26 @@
 	repeated string chunk_id = 1;
 }
 
+message CreateChunkRequest {
+	string chunk_id = 1;
+	int32 size = 2;
+	ReplicaRole role = 3;
+	string primary_address = 4;
+}
+
+message CreateChunkResponse {
+}
+
+message GetChunkStatusRequest {
+	string chunk_id = 1;
+}
+
+message GetChunkStatusResponse {
+	ChunkStatus status = 1;
+	int32 total_bytes = 2;
+	int32 committed_bytes = 3;	
+}
+
 message ReadChunkRequest {
 	string chunk_id = 1;
 	int32 offset = 2;
@@ -41,6 +72,16 @@
 	bytes data = 1;
 }
 
+message WriteChunkRequest {
+	string chunk_id = 1;
+	int32 offset = 2;
+	bytes data = 3;
+}
+
+message WriteChunkResponse {
+	int32 bytes_written = 1;
+}
+
 message StoreChunkRequest {
 	string chunk_id = 1;
 	bytes data = 2;
@@ -56,14 +97,6 @@
 message RemoveChunkResponse {
 }
 
-message ReplicateChunkRequest {
-	string chunk_id = 1;
-	string primary_chunk_server = 2;
-}
-
-message ReplicateChunkResponse {
-}
-
 // MetadataStorage
 
 message ChunkStorageMetadata {
diff --git a/api/client.go b/api/client.go
new file mode 100644
index 0000000..3e05de6
--- /dev/null
+++ b/api/client.go
@@ -0,0 +1,12 @@
+package api
+
+import (
+	"google.golang.org/grpc"
+)
+
+func DialConn(address string) (*grpc.ClientConn, error) {
+	var opts []grpc.DialOption
+	opts = append(opts, grpc.WithInsecure())
+	opts = append(opts, grpc.WithBlock())
+	return grpc.Dial(address, opts...)
+}
