diff --git a/account/account_test.go b/account/account_test.go
index ecc8a023ece4f1f62961038ddf0fb262400a34a7..ca3e41fdba161931d24a8610ded01aee33301110 100644
--- a/account/account_test.go
+++ b/account/account_test.go
@@ -118,7 +118,7 @@ func TestMarshalJSON(t *testing.T) {
 	acc := concreteAcc.Account()
 	bs, err := json.Marshal(acc)
 
-	expected := fmt.Sprintf(`{"Address":"%s","PublicKey":{"type":"ed25519","data":"%s"},`+
+	expected := fmt.Sprintf(`{"Address":"%s","PublicKey":{"CurveType":"ed25519","PublicKey":"%s"},`+
 		`"Sequence":0,"Balance":0,"Code":"3C172D","StorageRoot":"",`+
 		`"Permissions":{"Base":{"Perms":0,"SetBit":0},"Roles":[]}}`,
 		concreteAcc.Address, concreteAcc.PublicKey)
diff --git a/config/config.go b/config/config.go
index 24896f06d7fc50cefa1b6c228d6b87a9023c4a03..1a73e9faa4b9c8d075e1f5365b46230b0bd694d9 100644
--- a/config/config.go
+++ b/config/config.go
@@ -56,15 +56,15 @@ func (conf *BurrowConfig) Kernel(ctx context.Context) (*core.Kernel, error) {
 		return nil, fmt.Errorf("could not generate logger from logging config: %v", err)
 	}
 	var keyClient keys.KeyClient
-	var keyStore *keys.KeyStore
+	var keyStore keys.KeyStore
 	if conf.Keys.RemoteAddress != "" {
 		keyClient, err = keys.NewRemoteKeyClient(conf.Keys.RemoteAddress, logger)
 		if err != nil {
 			return nil, err
 		}
 	} else {
-		*keyStore = keys.NewKeyStore(conf.Keys.KeysDirectory)
-		keyClient = keys.NewLocalKeyClient(*keyStore, logger)
+		keyStore = keys.NewKeyStore(conf.Keys.KeysDirectory)
+		keyClient = keys.NewLocalKeyClient(keyStore, logger)
 	}
 
 	val, err := keys.Addressable(keyClient, *conf.ValidatorAddress)
@@ -82,7 +82,7 @@ func (conf *BurrowConfig) Kernel(ctx context.Context) (*core.Kernel, error) {
 	}
 
 	return core.NewKernel(ctx, keyClient, privValidator, conf.GenesisDoc, conf.Tendermint.TendermintConfig(), conf.RPC, conf.Keys,
-		keyStore, exeOptions, logger)
+		&keyStore, exeOptions, logger)
 }
 
 func (conf *BurrowConfig) JSONString() string {
diff --git a/crypto/crypto.go b/crypto/crypto.go
index 400345fce3a4abae70942dd40a8cf76501ca3e19..da0e85dd0af80b0c12d026c551fd0b6ae8ed0389 100644
--- a/crypto/crypto.go
+++ b/crypto/crypto.go
@@ -82,14 +82,14 @@ type PrivateKey struct {
 }
 
 type PublicKeyJSON struct {
-	Type string `json:"type"`
-	Data string `json:"data"`
+	CurveType string
+	PublicKey string
 }
 
 func (p PublicKey) MarshalJSON() ([]byte, error) {
 	jStruct := PublicKeyJSON{
-		Type: p.CurveType.String(),
-		Data: hex.EncodeUpperToString(p.PublicKey),
+		CurveType: p.CurveType.String(),
+		PublicKey: hex.EncodeUpperToString(p.PublicKey),
 	}
 	txt, err := json.Marshal(jStruct)
 	return txt, err
@@ -105,11 +105,11 @@ func (p *PublicKey) UnmarshalJSON(text []byte) error {
 	if err != nil {
 		return err
 	}
-	CurveType, err := CurveTypeFromString(jStruct.Type)
+	CurveType, err := CurveTypeFromString(jStruct.CurveType)
 	if err != nil {
 		return err
 	}
-	bs, err := hex.DecodeString(jStruct.Data)
+	bs, err := hex.DecodeString(jStruct.PublicKey)
 	if err != nil {
 		return err
 	}