diff --git a/Cargo.lock b/Cargo.lock
index 906d6e6e054b43770f1aff5df8a845b09b7e4a5d..06a8dd7529a0bee3de4787c18cc276334bf7b3d5 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -228,7 +228,7 @@ name = "actix-web-codegen"
 version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -1015,8 +1015,9 @@ dependencies = [
  "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
  "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "juniper 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "juniper-from-schema 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "juniper-from-schema 0.5.0 (git+https://github.com/davidpdrsn/juniper-from-schema.git?branch=support-keywords-in-schema)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_derive 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1583,16 +1584,24 @@ dependencies = [
 
 [[package]]
 name = "juniper-from-schema"
-version = "0.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
+version = "0.5.0"
+source = "git+https://github.com/davidpdrsn/juniper-from-schema.git?branch=support-keywords-in-schema#ed6694f928fe9aacb10e0c9ac3305724bf61b848"
 dependencies = [
+ "juniper 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "juniper-from-schema-code-gen 0.5.0 (git+https://github.com/davidpdrsn/juniper-from-schema.git?branch=support-keywords-in-schema)",
+]
+
+[[package]]
+name = "juniper-from-schema-code-gen"
+version = "0.5.0"
+source = "git+https://github.com/davidpdrsn/juniper-from-schema.git?branch=support-keywords-in-schema#ed6694f928fe9aacb10e0c9ac3305724bf61b848"
+dependencies = [
+ "colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "graphql-parser 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -1600,7 +1609,7 @@ name = "juniper_codegen"
 version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -2064,7 +2073,7 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.1"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2096,7 +2105,7 @@ name = "quote"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -2491,7 +2500,7 @@ name = "serde_derive"
 version = "1.0.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -2667,7 +2676,7 @@ name = "syn"
 version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -3071,7 +3080,7 @@ dependencies = [
  "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "wasm-bindgen-shared 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3091,7 +3100,7 @@ name = "wasm-bindgen-macro-support"
 version = "0.2.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "wasm-bindgen-backend 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3111,7 +3120,7 @@ dependencies = [
  "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "wasm-bindgen-backend 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3340,7 +3349,8 @@ dependencies = [
 "checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
 "checksum js-sys 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)" = "1efc4f2a556c58e79c5500912e221dd826bec64ff4aabd8ce71ccef6da02d7d4"
 "checksum juniper 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c5ede4b742c5d558ebb098706d1933b83fc5595e8fbf9ee7641d77f6d76ccc7"
-"checksum juniper-from-schema 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "521c87eba45b61374cd54af99847116f5c98ae345b78a3ddeab7fe7b88e07253"
+"checksum juniper-from-schema 0.5.0 (git+https://github.com/davidpdrsn/juniper-from-schema.git?branch=support-keywords-in-schema)" = "<none>"
+"checksum juniper-from-schema-code-gen 0.5.0 (git+https://github.com/davidpdrsn/juniper-from-schema.git?branch=support-keywords-in-schema)" = "<none>"
 "checksum juniper_codegen 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80936abdd4fbe3f9c5357512b507786858df917d0c3fa25bed13dc0c14f5cdd4"
 "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
 "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
@@ -3395,7 +3405,7 @@ dependencies = [
 "checksum pretty_assertions 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f81e1644e1b54f5a68959a29aa86cde704219254669da328ecfdf6a1f09d427"
 "checksum proc-macro2 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cd07deb3c6d1d9ff827999c7f9b04cdfd66b1b17ae508e14fe47b620f2282ae0"
 "checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-"checksum proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c5c2380ae88876faae57698be9e9775e3544decad214599c3a6266cca6ac802"
+"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
 "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
 "checksum quote 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1eca14c727ad12702eb4b6bfb5a232287dcf8385cb8ca83a3eeaf6519c44c408"
 "checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
diff --git a/lib/modules/gva/Cargo.toml b/lib/modules/gva/Cargo.toml
index c31c809ca8ee5ad1ed35bce1b3174f551e6eb35b..06d95fb37bcba467b9f5078470eb9fbd2bc382bb 100644
--- a/lib/modules/gva/Cargo.toml
+++ b/lib/modules/gva/Cargo.toml
@@ -10,7 +10,8 @@ edition = "2018"
 path = "src/lib.rs"
 
 [dependencies]
-actix-web = "1.0.0-alpha.4"
+proc-macro2 = "1.0.6"
+actix-web = "1.0.8"
 dubp-block-doc = { path = "../../dubp/block-doc"} #, version = "0.1.0" }
 durs-bc-db-reader = { path = "../../modules-lib/bc-db-reader" }
 durs-conf = { path = "../../core/conf" }
@@ -25,7 +26,8 @@ futures = "0.1"
 futures-cpupool = "0.1"
 juniper = "0.14.0"
 
-juniper-from-schema =  "0.0.4"
+juniper-from-schema = { git = "https://github.com/davidpdrsn/juniper-from-schema.git", branch = "support-keywords-in-schema" }
+#juniper-from-schema = "0.5.0"
 log = "0.4.*"
 serde = "1.0.*"
 serde_derive = "1.0.*"
diff --git a/lib/modules/gva/resources/schema.gql b/lib/modules/gva/resources/schema.gql
index 36ba4470cd147169d08d7f641be9b4bc23d8df2e..94daa88de66d5741349e92fc9dbb788cdffa2143 100644
--- a/lib/modules/gva/resources/schema.gql
+++ b/lib/modules/gva/resources/schema.gql
@@ -6,10 +6,8 @@ schema {
 }
 
 type Query {
-  "#[ownership(owned)]"
-  currentBlock: String!
-  "#[ownership(owned)]"
-  current: Block
+  currentBlock: String! @juniper(ownership: "owned")
+  current: Block @juniper(ownership: "owned")
 }
 
 type Mutation {
@@ -18,6 +16,7 @@ type Mutation {
 
 type Block {
   version: Int!
+  type: String!
   currency: String!
   number: Int!
 }
diff --git a/lib/modules/gva/src/schema.rs b/lib/modules/gva/src/schema.rs
index 22165dcfe47dcd91a57c3f7cc6fe54337a3bca6a..298da9201b6a6822827ac3c48125417c58681b54 100644
--- a/lib/modules/gva/src/schema.rs
+++ b/lib/modules/gva/src/schema.rs
@@ -21,12 +21,13 @@ use juniper::Executor;
 use juniper::FieldResult;
 use juniper_from_schema::graphql_schema_from_file;
 
-graphql_schema_from_file!("lib/modules/gva/resources/schema.gql");
+graphql_schema_from_file!("resources/schema.gql");
 
 pub struct Query;
 
 pub struct Block {
     version: i32,
+    r#type: String,
     currency: String,
     number: i32,
 }
@@ -60,6 +61,7 @@ impl QueryFields for Query {
                         Ok(current_block_option) => match current_block_option {
                             Some(block) => Ok(Some(Block {
                                 version: block.block.version() as i32,
+                                r#type: "Block".to_string(),
                                 currency: block.block.currency().to_string(),
                                 number: block.block.number().0 as i32,
                             })),
@@ -80,6 +82,10 @@ impl BlockFields for Block {
         Ok(&self.version)
     }
 
+    fn field_type(&self, _executor: &Executor<'_, Context>) -> FieldResult<&String> {
+        Ok(&self.r#type)
+    }
+
     fn field_currency(&self, _executor: &Executor<'_, Context>) -> FieldResult<&String> {
         Ok(&self.currency)
     }