diff --git a/controller/schema/schema.go b/controller/schema/schema.go
index a077ce3..fed08e1 100644
--- a/controller/schema/schema.go
+++ b/controller/schema/schema.go
@@ -2,37 +2,11 @@
 
 import (
 	"github.com/vektah/gqlparser/ast"
-	"github.com/vektah/gqlparser/parser"
 )
 
-type SchemaStore interface {
-	Schema() *ast.SchemaDocument
-	SetSchema(gqlSchema string) error
-	AddSchema(gqlSchema string) error
-}
-
-type InMemorySchemaStore struct {
-	gqlSchema string
-	schema    *ast.SchemaDocument
-}
-
-func NewInMemorySchemaStore() SchemaStore {
-	return &InMemorySchemaStore{gqlSchema: ""}
-}
-
-func (s *InMemorySchemaStore) Schema() *ast.SchemaDocument {
-	return s.schema
-}
-
-func (s *InMemorySchemaStore) AddSchema(gqlSchema string) error {
-	return s.SetSchema(s.gqlSchema + gqlSchema)
-}
-
-func (s *InMemorySchemaStore) SetSchema(gqlSchema string) error {
-	schema, err := parser.ParseSchema(&ast.Source{Input: gqlSchema})
-	if err != nil {
-		return err
-	}
-	s.schema = schema
-	return nil
+type GraphQLClient interface {
+	Schema() *ast.Schema
+	SetSchema(schema string) error
+	AddSchema(schema string) error
+	RunQuery(query string) (string, error)
 }
