Introduced stored fields
diff --git a/lib/Krawfish/Koral/Document/FieldInt.pm b/lib/Krawfish/Koral/Document/FieldInt.pm
index c7ebe6f..71f4967 100644
--- a/lib/Krawfish/Koral/Document/FieldInt.pm
+++ b/lib/Krawfish/Koral/Document/FieldInt.pm
@@ -1,14 +1,15 @@
 package Krawfish::Koral::Document::FieldInt;
 use Krawfish::Util::String qw/squote/;
+# TODO:
+#   Probably use Krawfish::Koral::Meta::Type::KeyID and
+#   Krawfish::Koral::Meta::Type::Key.
 use warnings;
 use strict;
 
 sub new {
   my $class = shift;
-  bless {
-    key => shift,
-    value => shift
-  }, $class;
+  # key, value, key_id, key_value_id
+  bless { @_ }, $class;
 };
 
 sub type {
@@ -35,6 +36,8 @@
 sub identify {
   my ($self, $dict) = @_;
 
+  return if $self->{key_id};
+
   my $key  = '!' . $self->{key};
   my $term = '+' . $self->{key} . ':' . $self->{value};
 
@@ -67,12 +70,16 @@
 };
 
 
+sub inflate {
+  ...
+};
+
 sub to_string {
   my $self = shift;
   unless ($self->{key_id}) {
     return squote($self->{key}) . '=' . $self->{value};
   };
-  return $self->{key_id} . '=' . $self->{key_value_id} . '(' . $self->{value} . ')';
+  return '#' . $self->{key_id} . '=' . '#' . $self->{key_value_id} . '(' . $self->{value} . ')';
 };
 
 
diff --git a/lib/Krawfish/Koral/Document/FieldStore.pm b/lib/Krawfish/Koral/Document/FieldStore.pm
new file mode 100644
index 0000000..76c8c97
--- /dev/null
+++ b/lib/Krawfish/Koral/Document/FieldStore.pm
@@ -0,0 +1,67 @@
+package Krawfish::Koral::Document::FieldStore;
+use Krawfish::Util::String qw/squote/;
+use warnings;
+use strict;
+
+# Class for store-only fields
+# (not indexed in the dictionary)
+
+sub new {
+  my $class = shift;
+  # key, value
+  bless { @_ }, $class;
+};
+
+sub type {
+  'store'
+};
+
+
+sub key {
+  $_[0]->{key};
+};
+
+sub key_id {
+  $_[0]->{key_id};
+};
+
+sub term_id {
+  # There is no term_id, but it's required for sorting
+  undef;
+};
+
+sub value {
+  $_[0]->{value};
+};
+
+sub identify {
+  my ($self, $dict) = @_;
+
+  my $key  = '!' . $self->{key};
+
+  # Get key term_id
+  # TODO:
+  #   Add new method that introduces the term
+  #   in case it doesn't exist
+  my $key_id = $dict->term_id_by_term($key);
+
+  # Not given yet
+  if (defined $key_id) {
+    $self->{key_id} = $key_id;
+  }
+
+  else {
+    $self->{key_id} = $dict->add_term($key);
+  };
+  return $self;
+};
+
+
+sub to_string {
+  my $self = shift;
+  my $str = $self->{key_id} ? '#' . $self->{key_id} : squote($self->{key});
+  return $str . '=' . squote($self->{value});
+};
+
+
+1;
diff --git a/lib/Krawfish/Koral/Document/FieldString.pm b/lib/Krawfish/Koral/Document/FieldString.pm
index a93035a..1a1c296 100644
--- a/lib/Krawfish/Koral/Document/FieldString.pm
+++ b/lib/Krawfish/Koral/Document/FieldString.pm
@@ -3,12 +3,12 @@
 use warnings;
 use strict;
 
+# Class for string fields
+
 sub new {
   my $class = shift;
-  bless {
-    key => shift,
-    value => shift
-  }, $class;
+  # key, value
+  bless { @_ }, $class;
 };
 
 
@@ -68,7 +68,7 @@
   unless ($self->{key_id}) {
     return squote($self->{key}) . '=' . squote($self->{value});
   };
-  return $self->{key_id} . '=' . $self->{key_value_id};
+  return '#' . $self->{key_id} . '=' . '#' . $self->{key_value_id};
 };
 
 1;
diff --git a/lib/Krawfish/Koral/Document/Fields.pm b/lib/Krawfish/Koral/Document/Fields.pm
index 0cdb964..4c13c57 100644
--- a/lib/Krawfish/Koral/Document/Fields.pm
+++ b/lib/Krawfish/Koral/Document/Fields.pm
@@ -1,6 +1,7 @@
 package Krawfish::Koral::Document::Fields;
 use Krawfish::Koral::Document::FieldString;
 use Krawfish::Koral::Document::FieldInt;
+use Krawfish::Koral::Document::FieldStore;
 use warnings;
 use strict;
 
@@ -14,7 +15,10 @@
   my ($key, $value) = @_;
 
   # This may be an integer value
-  push @$self, Krawfish::Koral::Document::FieldString->new($key, $value);
+  push @$self, Krawfish::Koral::Document::FieldString->new(
+    key => $key,
+    value => $value
+  );
 };
 
 
@@ -23,7 +27,22 @@
   my ($key, $value) = @_;
 
   # This may be an integer value
-  push @$self, Krawfish::Koral::Document::FieldInt->new($key, $value);
+  push @$self, Krawfish::Koral::Document::FieldInt->new(
+    key => $key,
+    value => $value
+  );
+};
+
+
+sub add_store {
+  my $self = shift;
+  my ($key, $value) = @_;
+
+  # This may be an integer value
+  push @$self, Krawfish::Koral::Document::FieldStore->new(
+    key => $key,
+    value => $value
+  );
 };