You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by gi...@apache.org on 2026/07/21 02:10:50 UTC

(arrow-erlang) 01/01: deploy: 49e8e777cc531f180169d3c116a91d9c0617e9cb

This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-erlang.git

commit 08210e0ad6120520404de1c1fa5a81a9fd6964dd
Author: kou <ko...@users.noreply.github.com>
AuthorDate: Tue Jul 21 02:10:45 2026 +0000

    deploy: 49e8e777cc531f180169d3c116a91d9c0617e9cb
---
 .asf.yaml                                          |   59 +
 .htaccess                                          |   20 +
 .nojekyll                                          |    0
 main/404.html                                      |  144 +++
 main/api-reference.html                            |  321 +++++
 main/arrow.epub                                    |  Bin 0 -> 54411 bytes
 main/arrow.html                                    |  151 +++
 main/arrow_array.html                              |  744 ++++++++++++
 main/arrow_bitmap.html                             |  224 ++++
 main/arrow_buffer.html                             |  380 ++++++
 main/arrow_fixed_list_array.html                   |  229 ++++
 main/arrow_fixed_primitive_array.html              |  225 ++++
 main/arrow_format_nif.html                         |  301 +++++
 main/arrow_ipc_field.html                          |  302 +++++
 main/arrow_ipc_file.html                           |  261 ++++
 main/arrow_ipc_message.html                        |  508 ++++++++
 main/arrow_ipc_record_batch.html                   |  314 +++++
 main/arrow_ipc_schema.html                         |  318 +++++
 main/arrow_ipc_type.html                           |  468 ++++++++
 main/arrow_offsets.html                            |  265 ++++
 main/arrow_type.html                               | 1260 ++++++++++++++++++++
 main/arrow_variable_binary_array.html              |  261 ++++
 main/arrow_variable_list_array.html                |  227 ++++
 main/dist/handlebars.runtime-NWIB6V2M.js           |   30 +
 main/dist/handlebars.templates-XWGFFSCD.js         |  187 +++
 main/dist/html-JDI3AVDD.js                         |   56 +
 main/dist/html-erlang-AUG7C7KY.css                 |    6 +
 .../inconsolata-latin-400-normal-RGKDDNDD.woff2    |  Bin 0 -> 16244 bytes
 .../inconsolata-latin-700-normal-DTS2D7TO.woff2    |  Bin 0 -> 16368 bytes
 ...inconsolata-latin-ext-400-normal-K7HVGTP7.woff2 |  Bin 0 -> 14772 bytes
 ...inconsolata-latin-ext-700-normal-4MPBLFZC.woff2 |  Bin 0 -> 14908 bytes
 ...nconsolata-vietnamese-400-normal-IGQPHHJH.woff2 |  Bin 0 -> 6836 bytes
 ...nconsolata-vietnamese-700-normal-LHEGSN35.woff2 |  Bin 0 -> 6944 bytes
 main/dist/lato-latin-300-normal-YUMVEFOL.woff2     |  Bin 0 -> 23236 bytes
 main/dist/lato-latin-400-normal-W7754I4D.woff2     |  Bin 0 -> 23580 bytes
 main/dist/lato-latin-700-normal-2XVSBPG4.woff2     |  Bin 0 -> 23040 bytes
 main/dist/lato-latin-ext-300-normal-VPGGJKJL.woff2 |  Bin 0 -> 5624 bytes
 main/dist/lato-latin-ext-400-normal-N27NCBWW.woff2 |  Bin 0 -> 5472 bytes
 main/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2 |  Bin 0 -> 5368 bytes
 ...merriweather-cyrillic-300-italic-M6KMXZSZ.woff2 |  Bin 0 -> 15244 bytes
 ...merriweather-cyrillic-300-normal-7PAAHU3N.woff2 |  Bin 0 -> 15084 bytes
 ...iweather-cyrillic-ext-300-italic-JP3ZEV2P.woff2 |  Bin 0 -> 20308 bytes
 ...iweather-cyrillic-ext-300-normal-5LF5LCEK.woff2 |  Bin 0 -> 19320 bytes
 .../merriweather-latin-300-italic-353COS6Q.woff2   |  Bin 0 -> 19720 bytes
 .../merriweather-latin-300-normal-RWDJH4FN.woff2   |  Bin 0 -> 19752 bytes
 ...erriweather-latin-ext-300-italic-MWCA36KE.woff2 |  Bin 0 -> 18676 bytes
 ...erriweather-latin-ext-300-normal-K6L27CZ5.woff2 |  Bin 0 -> 18688 bytes
 ...rriweather-vietnamese-300-italic-EHHNZPUO.woff2 |  Bin 0 -> 7996 bytes
 ...rriweather-vietnamese-300-normal-U376L4Z4.woff2 |  Bin 0 -> 7796 bytes
 main/dist/remixicon-NKANDIL5.woff2                 |  Bin 0 -> 1956 bytes
 main/dist/search_items-4E0C5A40.js                 |    1 +
 main/dist/sidebar_items-493952EA.js                |    1 +
 main/index.html                                    |   10 +
 main/license.html                                  |  377 ++++++
 main/quick-run-through.html                        |  272 +++++
 main/quick-run-through.livemd                      |  214 ++++
 main/readme.html                                   |  206 ++++
 main/search.html                                   |  142 +++
 58 files changed, 8484 insertions(+)

diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..0866033
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,59 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# https://github.com/apache/infrastructure-asfyaml
+github:
+  description: "Official Erlang implementation of Apache Arrow"
+  homepage: https://arrow.apache.org/erlang/main/
+  labels:
+    - apache-arrow
+    - erlang
+
+  features:
+    issues: true
+    projects: true
+    discussions: true
+
+  enabled_merge_buttons:
+    merge: false
+    rebase: true
+    squash: true
+
+  protected_branches:
+    main:
+      required_linear_history: true
+
+  collaborators:
+    - Benjamin-Philip
+
+  copilot_code_review:
+    enabled: true
+    review_drafts: false
+    review_on_push: true
+
+notifications:
+  commits: commits@arrow.apache.org
+  issues_status: issues@arrow.apache.org
+  issues_comment: github@arrow.apache.org
+  pullrequests: github@arrow.apache.org
+  discussions: user@arrow.apache.org
+
+# publishes the content of the `asf-site` branch to
+# https://arrow.apache.org/erlang/
+publish:
+  whoami: asf-site
+  subdir: erlang
diff --git a/.htaccess b/.htaccess
new file mode 100644
index 0000000..08bc1b5
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+ErrorDocument 404 /erlang/main/404.html
+
+RedirectMatch permanent ^/erlang/(?!main/?)(.*)$ https://arrow.hexdocs.pm/$1
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/main/404.html b/main/404.html
new file mode 100644
index 0000000..be21277
--- /dev/null
+++ b/main/404.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>404 — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="extras" class="page-extra">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+  <span>Page not found</span>
+</h1>
+
+<p>Sorry, but the page you were trying to get to, does not exist. You
+may want to try searching this site using the sidebar
+
+  or using our <a href="api-reference.html">API Reference</a> page
+
+to find what you were looking for.</p>
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/api-reference.html b/main/api-reference.html
new file mode 100644
index 0000000..e92a20c
--- /dev/null
+++ b/main/api-reference.html
@@ -0,0 +1,321 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>API Reference — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="extras" class="page-extra">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+
+  <span>API Reference <small class="app-vsn">arrow v0.1.0</small></span>
+</h1>
+
+
+  <section class="details-list">
+    <h2 id="modules" class="section-heading">
+  <a href="#modules" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">modules</p>
+  </a>
+  Modules
+</h2>
+
+    <div class="summary">
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow.html" translate="no">arrow</a>
+
+  </div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_array.html" translate="no">arrow_array</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides a record, a behaviour, and functions to work with Apache Arrow Arrays.</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_bitmap.html" translate="no">arrow_bitmap</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Validity Bitmap implementation for <a href="arrow.html"><code>arrow</code></a>.</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_buffer.html" translate="no">arrow_buffer</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Buffer implementation for <a href="arrow.html"><code>arrow</code></a>. This module adds suppport for buffers, or Contiguous Memory Regions.</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_fixed_list_array.html" translate="no">arrow_fixed_list_array</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides support for Arrow's Fixed-Size List Layout.</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_fixed_primitive_array.html" translate="no">arrow_fixed_primitive_array</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides support for Arrow's Fixed-Size Primitive Layout.</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_format_nif.html" translate="no">arrow_format_nif</a>
+
+  </div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_ipc_field.html" translate="no">arrow_ipc_field</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides a record and functions to deal with individual fields in a Schema</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_ipc_file.html" translate="no">arrow_ipc_file</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides records and functions to deal with the IPC File.</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_ipc_message.html" translate="no">arrow_ipc_message</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides a record and functions to deal with the Encapsulated Message Format.</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_ipc_record_batch.html" translate="no">arrow_ipc_record_batch</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides a record and functions to deal with RecordBatches</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_ipc_schema.html" translate="no">arrow_ipc_schema</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides a record and functions to deal with Schemas</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_ipc_type.html" translate="no">arrow_ipc_type</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides types and functions to work with IPC types.</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_offsets.html" translate="no">arrow_offsets</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides support for Apache Arrow's Offsets</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_type.html" translate="no">arrow_type</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides representation for as well as functions for working with Arrow specific datatypes.</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_variable_binary_array.html" translate="no">arrow_variable_binary_array</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides support for Arrow's Variable-Sized Binary Layout.</p></div>
+
+</div>
+<div class="summary-row">
+  <div class="summary-signature">
+    <a href="arrow_variable_list_array.html" translate="no">arrow_variable_list_array</a>
+
+  </div>
+
+    <div class="summary-synopsis"><p>Provides support for Arrow's Fixed-Size List Layout.</p></div>
+
+</div>
+
+    </div>
+  </section>
+
+
+<div class="bottom-actions">
+  <div class="bottom-actions-item">
+
+  </div>
+  <div class="bottom-actions-item">
+
+      <a href="readme.html" class="bottom-actions-button" rel="next">
+        <span class="subheader">
+          Next Page →
+        </span>
+        <span class="title">
+Overview
+        </span>
+      </a>
+
+  </div>
+</div>
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow.epub b/main/arrow.epub
new file mode 100644
index 0000000..7a5ca20
Binary files /dev/null and b/main/arrow.epub differ
diff --git a/main/arrow.html b/main/arrow.html
new file mode 100644
index 0000000..02eabfd
--- /dev/null
+++ b/main/arrow.html
@@ -0,0 +1,151 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow.erl#L18" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_array.html b/main/arrow_array.html
new file mode 100644
index 0000000..2eaf5de
--- /dev/null
+++ b/main/arrow_array.html
@@ -0,0 +1,744 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_array — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-behaviour">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L98" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_array</span> <small>behaviour</small>
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides a record, a behaviour, and functions to work with Apache Arrow Arrays.</p><p>This module as mentioned, provides conveniences for working with Apache Arrow Arrays[1] of different Layouts[2]. Firstly, it provides a record to represent all the Layout. Secondly, it provides a behaviour for different layouts to adhere to common functionality. Lastly, it provides functions to work with Arrays in a common manner.</p><h3 id="module-the-structure-of-an-array" class="section-heading">
+  <a href="#module-the-structure-of-an-array" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">the-structure-of-an-array</p>
+  </a>
+  <a name="The_Structure_of_an_Array">The Structure of an Array</a>
+</h3>
+<p><a href="arrow.html"><code>arrow</code></a>'s implementation of an Array has the following fields in its record definition:</p><ol><li><code>layout</code>, of type <code>atom()</code>, which represents the Layout of the Array.</li><li><code>type</code>, of type <a href="arrow_type.html#t:arrow_type/0"><code>arrow_type:arrow_type()</code></a>, which represents the Logical Type[3] of the Array.</li><li><code>len</code>, of type <code>pos_integer()</code>, which represents the Array's Le [...]
+  <a href="#module-the-behaviour-of-an-array" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">the-behaviour-of-an-array</p>
+  </a>
+  <a name="The_Behaviour_of_an_Array">The Behaviour of an Array</a>
+</h3>
+<p>As of right now, a layout needs to implement the <a href="#c:from_erlang/2"><code>from_erlang/2</code></a> callback. This is then used in the <a href="#from_erlang/3"><code>from_erlang/3</code></a> function to create new arrays.</p><h3 id="module-functions-for-working-with-arrays" class="section-heading">
+  <a href="#module-functions-for-working-with-arrays" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">functions-for-working-with-arrays</p>
+  </a>
+  <a name="Functions_for_working_with_Arrays">Functions for working with Arrays</a>
+</h3>
+<p>As of right now, only functions to access the various fields, to create new arrays, and to serialize arrays to arrow exist.</p><h3 id="module-references" class="section-heading">
+  <a href="#module-references" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">references</p>
+  </a>
+  <a name="References">References</a>
+</h3>
+<p>[1]: <a href="https://arrow.apache.org/docs/format/Glossary.html#term-array" target="_top">https://arrow.apache.org/docs/format/Glossary.html#term-array</a></p><p>[2]: <a href="https://arrow.apache.org/docs/format/Glossary.html#term-physical-layout" target="_top">https://arrow.apache.org/docs/format/Glossary.html#term-physical-layout</a></p><p>[3]: <a href="https://arrow.apache.org/docs/format/Glossary.html#term-type" target="_top">https://arrow.apache.org/docs/format/Glossary.html#te [...]
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-types summary">
+  <h2>
+    <a href="#types">Types</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:array/0" translate="no">array/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Represents an Array.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:layout/0" translate="no">layout/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Represents the Layout of an Array.</div>
+
+    </div>
+
+</div>
+<div class="summary-callbacks summary">
+  <h2>
+    <a href="#callbacks">Callbacks</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#c:from_erlang/2" translate="no">from_erlang/2</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a new array of a certain layout, given its value and options from its erlang representation.</div>
+
+    </div>
+
+</div>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#data/1" translate="no">data(Array)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the data of an array.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#element_len/1" translate="no">element_len(Array)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the length of an array.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/3" translate="no">from_erlang(Layout, Value, Opts)</a>
+
+      </div>
+
+        <div class="summary-synopsis">A common way to create a new array, given its layout, value, and options. from its erlang representation.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#layout/1" translate="no">layout(Array)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the layout of an array.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#len/1" translate="no">len(Array)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the length of an array.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#null_count/1" translate="no">null_count(Array)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the null count of an array.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#offsets/1" translate="no">offsets(Array)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the offsets of an array.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#to_arrow/1" translate="no">to_arrow(Array)</a>
+
+      </div>
+
+        <div class="summary-synopsis"><p>Serializes an array into the Arrow binary form.</p></div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#type/1" translate="no">type(Array)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the type of an array.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#validity_bitmap/1" translate="no">validity_bitmap(Array)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the validity bitmap of an array.</div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="types" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#types">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Types
+    </h1>
+    <div class="types-list">
+<section class="detail" id="t:array/0">
+
+  <div class="detail-header">
+    <a href="#t:array/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">array/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L116" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> array() :: #array{}.</pre>
+
+      </div>
+
+Represents an Array.
+  </section>
+</section>
+<section class="detail" id="t:layout/0">
+
+  <div class="detail-header">
+    <a href="#t:layout/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">layout/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L119" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> layout() :: fixed_primitive | variable_binary | fixed_list | variable_list.</pre>
+
+      </div>
+
+Represents the Layout of an Array.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+  <section id="callbacks" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#callbacks">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Callbacks
+    </h1>
+    <div class="callbacks-list">
+<section class="detail" id="c:from_erlang/2">
+
+  <div class="detail-header">
+    <a href="#c:from_erlang/2" class="detail-link" title="Link to this callback">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this callback</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang/2</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L126" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-callback</span> from_erlang(Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()], Opts :: map()) -> Array :: #array{}.</pre>
+
+      </div>
+
+Creates a new array of a certain layout, given its value and options from its erlang representation.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="data/1">
+
+  <div class="detail-header">
+    <a href="#data/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">data(Array)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L188" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> data(Array :: #array{}) -> Data :: #buffer{} | #array{} | undefined.</pre>
+
+      </div>
+
+Returns the data of an array.
+  </section>
+</section>
+<section class="detail" id="element_len/1">
+
+  <div class="detail-header">
+    <a href="#element_len/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">element_len(Array)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L168" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> element_len(Array :: #array{}) -> Length :: pos_integer() | undefined.</pre>
+
+      </div>
+
+Returns the length of an array.
+  </section>
+</section>
+<section class="detail" id="from_erlang/3">
+
+  <div class="detail-header">
+    <a href="#from_erlang/3" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Layout, Value, Opts)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L139" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Layout :: <a href="#t:layout/0">layout</a>(),
+            Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()],
+            Opts :: map() | <a href="arrow_type.html#t:arrow_type/0">arrow_type:arrow_type</a>()) ->
+               Array :: #array{}.</pre>
+
+      </div>
+
+A common way to create a new array, given its layout, value, and options. from its erlang representation.
+  </section>
+</section>
+<section class="detail" id="layout/1">
+
+  <div class="detail-header">
+    <a href="#layout/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">layout(Array)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L153" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> layout(Array :: #array{}) -> Layout :: <a href="#t:layout/0">layout</a>().</pre>
+
+      </div>
+
+Returns the layout of an array.
+  </section>
+</section>
+<section class="detail" id="len/1">
+
+  <div class="detail-header">
+    <a href="#len/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">len(Array)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L163" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> len(Array :: #array{}) -> Length :: pos_integer().</pre>
+
+      </div>
+
+Returns the length of an array.
+  </section>
+</section>
+<section class="detail" id="null_count/1">
+
+  <div class="detail-header">
+    <a href="#null_count/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">null_count(Array)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L173" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> null_count(Array :: #array{}) -> NullCount :: non_neg_integer().</pre>
+
+      </div>
+
+Returns the null count of an array.
+  </section>
+</section>
+<section class="detail" id="offsets/1">
+
+  <div class="detail-header">
+    <a href="#offsets/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">offsets(Array)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L183" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> offsets(Array :: #array{}) -> Offsets :: #buffer{} | undefined.</pre>
+
+      </div>
+
+Returns the offsets of an array.
+  </section>
+</section>
+<section class="detail" id="to_arrow/1">
+
+  <div class="detail-header">
+    <a href="#to_arrow/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">to_arrow(Array)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L214" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> to_arrow(Array :: #array{}) -> Arrow :: binary().</pre>
+
+      </div>
+
+<p>Serializes an array into the Arrow binary form.</p><p>Serializes the buffers of an Array and concatenates them in the following order:</p><ol><li><code>validity</code></li><li><code>offsets</code></li><li><code>data</code></li></ol><p>In case an array doesn't have any of the following buffers, it is ommitted. (e.g. validity in arrays with a null count of 0, offsets in fixed primitive arrays). In the case of a nested array, <code>data</code> will be serialized form of nested array.</p> [...]
+  </section>
+</section>
+<section class="detail" id="type/1">
+
+  <div class="detail-header">
+    <a href="#type/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">type(Array)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L158" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> type(Array :: #array{}) -> Type :: <a href="arrow_type.html#t:arrow_type/0">arrow_type:arrow_type</a>().</pre>
+
+      </div>
+
+Returns the type of an array.
+  </section>
+</section>
+<section class="detail" id="validity_bitmap/1">
+
+  <div class="detail-header">
+    <a href="#validity_bitmap/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">validity_bitmap(Array)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L178" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> validity_bitmap(Array :: #array{}) -> ValidityBitmap :: #buffer{} | undefined.</pre>
+
+      </div>
+
+Returns the validity bitmap of an array.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_array.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_bitmap.html b/main/arrow_bitmap.html
new file mode 100644
index 0000000..00ac477
--- /dev/null
+++ b/main/arrow_bitmap.html
@@ -0,0 +1,224 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_bitmap — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_bitmap.erl#L56" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_bitmap</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Validity Bitmap implementation for <a href="arrow.html"><code>arrow</code></a>.</p><p>Defines a function <a href="#validity_bitmap/1"><code>validity_bitmap/1</code></a> to return the Validity Bitmap[1] along with the Null Count[2], of an Array.</p><p>An important thing to consider about our implementation of the Null Count is that we need to support both <code>undefined</code> and <code>nil</code> as null values as they are the conventions for null values in Erlang, and Elixir respect [...]
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#validity_bitmap/1" translate="no">validity_bitmap(Value)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the Validity Bitmap along with the Null Count, of an Array.</div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="validity_bitmap/1">
+
+  <div class="detail-header">
+    <a href="#validity_bitmap/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">validity_bitmap(Value)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_bitmap.erl#L69" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> validity_bitmap(Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()] | list()) ->
+                   {Bitmap :: #buffer{}, non_neg_integer()}.</pre>
+
+      </div>
+
+Returns the Validity Bitmap along with the Null Count, of an Array.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_bitmap.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_buffer.html b/main/arrow_buffer.html
new file mode 100644
index 0000000..94efac4
--- /dev/null
+++ b/main/arrow_buffer.html
@@ -0,0 +1,380 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_buffer — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L54" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_buffer</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Buffer implementation for <a href="arrow.html"><code>arrow</code></a>. This module adds suppport for buffers, or Contiguous Memory Regions.</p><p>There are multiple things to know about buffers[1]:</p><ol><li>Each value it stores is called an element or a slot[2].</li><li>Each slot's length (in bytes) is a positive integer. As a result when we say that a slot has a length of 1, we mean that each slot has a length of 1 byte.</li><li>The buffer's length in the metadata refers to the unp [...]
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/2" translate="no">from_erlang(Value, Type)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a new buffer from a list of Erlang values or binaries, given its type</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/3" translate="no">from_erlang(Data, Type, DataLen)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a new buffer from a list of Erlang values or binaries, given its type and length</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#size/1" translate="no">size(Buffer)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the size of the buffer inclusive of padding in bytes.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#to_arrow/1" translate="no">to_arrow(Buffer)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns an Arrow buffer binary given a buffer.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#to_erlang/1" translate="no">to_erlang(Buffer)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns a list of Erlang values or binaries from a buffer.</div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="from_erlang/2">
+
+  <div class="detail-header">
+    <a href="#from_erlang/2" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Value, Type)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L67" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()] | binary(),
+            Type :: <a href="arrow_type.html#t:arrow_longhand_type/0">arrow_type:arrow_longhand_type</a>()) ->
+               Buffer :: #buffer{}.</pre>
+
+      </div>
+
+Creates a new buffer from a list of Erlang values or binaries, given its type
+  </section>
+</section>
+<section class="detail" id="from_erlang/3">
+
+  <div class="detail-header">
+    <a href="#from_erlang/3" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Data, Type, DataLen)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L86" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Data :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()] | binary(),
+            Type :: <a href="arrow_type.html#t:arrow_longhand_type/0">arrow_type:arrow_longhand_type</a>(),
+            DataLen :: pos_integer() | undefined) ->
+               Buffer :: #buffer{}.</pre>
+
+      </div>
+
+Creates a new buffer from a list of Erlang values or binaries, given its type and length
+  </section>
+</section>
+<section class="detail" id="size/1">
+
+  <div class="detail-header">
+    <a href="#size/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">size(Buffer)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L125" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> size(Buffer :: #buffer{}) -> pos_integer().</pre>
+
+      </div>
+
+Returns the size of the buffer inclusive of padding in bytes.
+  </section>
+</section>
+<section class="detail" id="to_arrow/1">
+
+  <div class="detail-header">
+    <a href="#to_arrow/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">to_arrow(Buffer)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L101" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> to_arrow(Buffer :: #buffer{}) -> binary().</pre>
+
+      </div>
+
+Returns an Arrow buffer binary given a buffer.
+  </section>
+</section>
+<section class="detail" id="to_erlang/1">
+
+  <div class="detail-header">
+    <a href="#to_erlang/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">to_erlang(Buffer)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L118" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> to_erlang(Buffer :: #buffer{}) -> [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()].</pre>
+
+      </div>
+
+Returns a list of Erlang values or binaries from a buffer.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_buffer.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_fixed_list_array.html b/main/arrow_fixed_list_array.html
new file mode 100644
index 0000000..28b73d5
--- /dev/null
+++ b/main/arrow_fixed_list_array.html
@@ -0,0 +1,229 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_fixed_list_array — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_fixed_list_array.erl#L49" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_fixed_list_array</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides support for Arrow's Fixed-Size List Layout.</p><p>This module provides support for the Fixed-Size List Layout[1], which is an layout that supports storing a list of lists of a specific length and nesting.</p><h3 id="module-invalid-input" class="section-heading">
+  <a href="#module-invalid-input" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">invalid-input</p>
+  </a>
+  <a name="Invalid_Input">Invalid Input</a>
+</h3>
+<p>It is important that care is taken when passing input values to this module. For performance reasons, the input is not validated. The function crashes on nesting that is inconsitent: a. with the type, b. between elements. The lists are checked to have the same length as each other at the top level, but not for deeper levels. The behaviour of the module on invalid input <strong>CANNOT BE GUARANTEED</strong>. Therefore, one must be careful to not to <strong>CRASH THE PROCESS</strong> or [...]
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/2" translate="no">from_erlang(Values, Type)</a>
+
+      </div>
+
+        <div class="summary-synopsis"><p>Creates a Fixed-Size List Array given the values and type.</p></div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="from_erlang/2">
+
+  <div class="detail-header">
+    <a href="#from_erlang/2" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Values, Type)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_fixed_list_array.erl#L62" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Values :: list(), Type :: map() | <a href="arrow_type.html#t:arrow_type/0">arrow_type:arrow_type</a>()) -> Array :: #array{}.</pre>
+
+      </div>
+
+<p>Creates a Fixed-Size List Array given the values and type.</p>Accepts a map with the type, or the type directly.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_fixed_list_array.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_fixed_primitive_array.html b/main/arrow_fixed_primitive_array.html
new file mode 100644
index 0000000..7224a57
--- /dev/null
+++ b/main/arrow_fixed_primitive_array.html
@@ -0,0 +1,225 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_fixed_primitive_array — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_fixed_primitive_array.erl#L51" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_fixed_primitive_array</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides support for Arrow's Fixed-Size Primitive Layout.</p><p>The Primitive Layout[1] uses the following metadata in the <a href="arrow_array.html"><code>arrow_array</code></a>:</p><ol><li><code>layout</code>, of type <code>atom()</code>, and a constant value of <code>fixed_primitive</code>.</li><li><code>type</code>, of type <a href="arrow_type.html#t:arrow_primitive_type/0"><code>arrow_type:arrow_primitive_type()</code></a>, which represents the Logical Type of the Array.</li><li> [...]
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/2" translate="no">from_erlang(Value, Type)</a>
+
+      </div>
+
+        <div class="summary-synopsis"><p>Creates a new primitive array, given its value and type from its erlang representation.</p></div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="from_erlang/2">
+
+  <div class="detail-header">
+    <a href="#from_erlang/2" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Value, Type)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_fixed_primitive_array.erl#L72" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()],
+            Type :: map() | <a href="arrow_type.html#t:arrow_primitive_type/0">arrow_type:arrow_primitive_type</a>()) ->
+               Array :: #array{}.</pre>
+
+      </div>
+
+<p>Creates a new primitive array, given its value and type from its erlang representation.</p>Accepts a map with the type, or the type directly.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_fixed_primitive_array.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_format_nif.html b/main/arrow_format_nif.html
new file mode 100644
index 0000000..4fa9199
--- /dev/null
+++ b/main/arrow_format_nif.html
@@ -0,0 +1,301 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_format_nif — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_format_nif.erl#L18" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_format_nif</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#serialize_footer/1" translate="no">serialize_footer(_)</a>
+
+      </div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#serialize_message/1" translate="no">serialize_message(_)</a>
+
+      </div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#test_decode/1" translate="no">test_decode(_)</a>
+
+      </div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#test_encode/1" translate="no">test_encode(_)</a>
+
+      </div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="serialize_footer/1">
+
+  <div class="detail-header">
+    <a href="#serialize_footer/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">serialize_footer(_)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_format_nif.erl#L38" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+
+  </section>
+</section>
+<section class="detail" id="serialize_message/1">
+
+  <div class="detail-header">
+    <a href="#serialize_message/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">serialize_message(_)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_format_nif.erl#L35" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+
+  </section>
+</section>
+<section class="detail" id="test_decode/1">
+
+  <div class="detail-header">
+    <a href="#test_decode/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">test_decode(_)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_format_nif.erl#L29" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+
+  </section>
+</section>
+<section class="detail" id="test_encode/1">
+
+  <div class="detail-header">
+    <a href="#test_encode/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">test_encode(_)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_format_nif.erl#L32" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_format_nif.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_ipc_field.html b/main/arrow_ipc_field.html
new file mode 100644
index 0000000..d9ae1dd
--- /dev/null
+++ b/main/arrow_ipc_field.html
@@ -0,0 +1,302 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_ipc_field — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_field.erl#L55" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_ipc_field</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides a record and functions to deal with individual fields in a Schema</p><p>A Field[1] represents a single column in a table (which is represented by a Schema[2]). This module provides a record and a function to manage all the metadata required to represent a column. Metadata such as:</p><ol><li><code>name</code>: The Name of the column. This can either be a string or null.</li><li><code>nullable</code>: A boolean representing whether a column can have null values. Generally true [...]
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/1" translate="no">from_erlang(Type)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a field given the type of the column. Assigns the name as <code>undefined</code>.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/2" translate="no">from_erlang(Type, Name)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a field given the type and name of the column.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/3" translate="no">from_erlang(Type, Name, Children)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a field given the type, name and children of the column.</div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="from_erlang/1">
+
+  <div class="detail-header">
+    <a href="#from_erlang/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Type)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_field.erl#L63" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Type :: <a href="arrow_ipc_type.html#t:ipc_type/0">arrow_ipc_type:ipc_type</a>()) -> Field :: #field{}.</pre>
+
+      </div>
+
+Creates a field given the type of the column. Assigns the name as <code>undefined</code>.
+  </section>
+</section>
+<section class="detail" id="from_erlang/2">
+
+  <div class="detail-header">
+    <a href="#from_erlang/2" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Type, Name)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_field.erl#L69" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Type :: <a href="arrow_ipc_type.html#t:ipc_type/0">arrow_ipc_type:ipc_type</a>(), Name :: string() | undefined) -> Field :: #field{}.</pre>
+
+      </div>
+
+Creates a field given the type and name of the column.
+  </section>
+</section>
+<section class="detail" id="from_erlang/3">
+
+  <div class="detail-header">
+    <a href="#from_erlang/3" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Type, Name, Children)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_field.erl#L77" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Type :: <a href="arrow_ipc_type.html#t:ipc_type/0">arrow_ipc_type:ipc_type</a>(),
+            Name :: string() | undefined,
+            Children :: [#field{}]) ->
+               Field :: #field{}.</pre>
+
+      </div>
+
+Creates a field given the type, name and children of the column.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_ipc_field.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_ipc_file.html b/main/arrow_ipc_file.html
new file mode 100644
index 0000000..6eb2e3a
--- /dev/null
+++ b/main/arrow_ipc_file.html
@@ -0,0 +1,261 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_ipc_file — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_file.erl#L27" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_ipc_file</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides records and functions to deal with the IPC File.</p><p>The IPC File[1] is an extension of the IPC Stream[2] that supports random access with the help of a footer which contains the offsets of all the messages.</p>[1]: https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format [2]: https://arrow.apache.org/docs/format/Columnar.html#ipc-streaming-format
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/2" translate="no">from_erlang(Message, RecordBatches)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a file given a schema message and a list of record batch messages.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#to_ipc/1" translate="no">to_ipc(File)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Serializes a file into the IPC File Format</div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="from_erlang/2">
+
+  <div class="detail-header">
+    <a href="#from_erlang/2" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Message, RecordBatches)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_file.erl#L39" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Schema :: #message{}, RecordBatches :: [#message{}]) -> #file{}.</pre>
+
+      </div>
+
+Creates a file given a schema message and a list of record batch messages.
+  </section>
+</section>
+<section class="detail" id="to_ipc/1">
+
+  <div class="detail-header">
+    <a href="#to_ipc/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">to_ipc(File)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_file.erl#L73" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> to_ipc(File :: #file{}) -> SerializedFile :: binary().</pre>
+
+      </div>
+
+Serializes a file into the IPC File Format
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_ipc_file.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_ipc_message.html b/main/arrow_ipc_message.html
new file mode 100644
index 0000000..2d9669d
--- /dev/null
+++ b/main/arrow_ipc_message.html
@@ -0,0 +1,508 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_ipc_message — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L59" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_ipc_message</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides a record and functions to deal with the Encapsulated Message Format.</p><p>A Message is a serialized form of a Schema[1] or a RecordBatch[2] (which may be required to read a serialized array) along with some metadata. This module provides a record and a function to manage all the metadata required to represent a message. Metadata such as:</p><ol><li><code>version</code>: The Apache Arrow Format Version. One of v1..v5. Defaults to v5.</li><li><code>header</code>: The metadata  [...]
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-types summary">
+  <h2>
+    <a href="#types">Types</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:key_value/0" translate="no">key_value/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Key-Value structure for custom metadata. See the definition for more info: <a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L432-L439" target="_top">https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L432-L439</a></div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:metadata_version/0" translate="no">metadata_version/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">The Arrow version. See the definition for more info: <a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L28-L49" target="_top">https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L28-L49</a></div>
+
+    </div>
+
+</div>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#body_from_erlang/1" translate="no">body_from_erlang(Columns)</a>
+
+      </div>
+
+        <div class="summary-synopsis"><p>Returns the body of message from a list of arrays.</p></div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/1" translate="no">from_erlang(Header)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a message given a data header.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/2" translate="no">from_erlang(Header, Body)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a message given a data header and a body.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#metadata_len/1" translate="no">metadata_len(EMF)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the Metadata Length of an EMF.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#to_ipc/1" translate="no">to_ipc(Message)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Serializes a message into the Encapsulated Message Format.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#to_stream/1" translate="no">to_stream(Messages)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Serializes a list of messages or EMFs into a Stream.</div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="types" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#types">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Types
+    </h1>
+    <div class="types-list">
+<section class="detail" id="t:key_value/0">
+
+  <div class="detail-header">
+    <a href="#t:key_value/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">key_value/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L69" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> key_value() :: #{key => string(), value => string()}.</pre>
+
+      </div>
+
+Key-Value structure for custom metadata. See the definition for more info: <a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L432-L439" target="_top">https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L432-L439</a>
+  </section>
+</section>
+<section class="detail" id="t:metadata_version/0">
+
+  <div class="detail-header">
+    <a href="#t:metadata_version/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">metadata_version/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L65" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> metadata_version() :: v1 | v2 | v3 | v4 | v5.</pre>
+
+      </div>
+
+The Arrow version. See the definition for more info: <a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L28-L49" target="_top">https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L28-L49</a>
+  </section>
+</section>
+
+    </div>
+  </section>
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="body_from_erlang/1">
+
+  <div class="detail-header">
+    <a href="#body_from_erlang/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">body_from_erlang(Columns)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L138" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> body_from_erlang(Columns :: [#array{}]) -> Body :: binary().</pre>
+
+      </div>
+
+<p>Returns the body of message from a list of arrays.</p>Shorthand for:<pre><code class="makeup erlang" translate="no"><span class="w">  </span><span class="p">&lt;&lt;</span><span class="p">&lt;&lt;</span><span class="p" data-group-id="3743477399-1">(</span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">to_arrow</span><span class="p" data-group-id="3743477399-2">(</span><span class="n">Array</span><span class="p" data-group-id="3743477399-2">)</span><span cl [...]
+  </section>
+</section>
+<section class="detail" id="from_erlang/1">
+
+  <div class="detail-header">
+    <a href="#from_erlang/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Header)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L75" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Header :: #schema{} | #record_batch{}) -> Message :: #message{}.</pre>
+
+      </div>
+
+Creates a message given a data header.
+  </section>
+</section>
+<section class="detail" id="from_erlang/2">
+
+  <div class="detail-header">
+    <a href="#from_erlang/2" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Header, Body)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L80" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Header :: #schema{} | #record_batch{}, Body :: binary()) -> Message :: #message{}.</pre>
+
+      </div>
+
+Creates a message given a data header and a body.
+  </section>
+</section>
+<section class="detail" id="metadata_len/1">
+
+  <div class="detail-header">
+    <a href="#metadata_len/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">metadata_len(EMF)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L122" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> metadata_len(EMF :: binary()) -> MetadataLen :: non_neg_integer().</pre>
+
+      </div>
+
+Returns the Metadata Length of an EMF.
+  </section>
+</section>
+<section class="detail" id="to_ipc/1">
+
+  <div class="detail-header">
+    <a href="#to_ipc/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">to_ipc(Message)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L85" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> to_ipc(Message :: #message{}) -> EMF :: binary().</pre>
+
+      </div>
+
+Serializes a message into the Encapsulated Message Format.
+  </section>
+</section>
+<section class="detail" id="to_stream/1">
+
+  <div class="detail-header">
+    <a href="#to_stream/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">to_stream(Messages)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L103" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> to_stream(Messages :: [#message{}] | [binary()]) -> Stream :: binary().</pre>
+
+      </div>
+
+Serializes a list of messages or EMFs into a Stream.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_ipc_message.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_ipc_record_batch.html b/main/arrow_ipc_record_batch.html
new file mode 100644
index 0000000..97ea777
--- /dev/null
+++ b/main/arrow_ipc_record_batch.html
@@ -0,0 +1,314 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_ipc_record_batch — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_record_batch.erl#L57" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_ipc_record_batch</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides a record and functions to deal with RecordBatches</p><p>A RecordBatch[1] represents a list of equal length arrays and their coresponding buffers. This module provides a record and a function to manage all the metadata required to represent a RecordBatch. Metadata such as:</p><ol><li><code>length</code>: The number of rows or records. In other words, the length of an array.</li><li><code>nodes</code>: A list of maps, where each map has the length and null count of an array</li [...]
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-types summary">
+  <h2>
+    <a href="#types">Types</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:buffer/0" translate="no">buffer/0</a>
+
+      </div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:field_node/0" translate="no">field_node/0</a>
+
+      </div>
+
+    </div>
+
+</div>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/1" translate="no">from_erlang(Arrays)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a RecordBatch given a list of arrays</div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="types" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#types">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Types
+    </h1>
+    <div class="types-list">
+<section class="detail" id="t:buffer/0">
+
+  <div class="detail-header">
+    <a href="#t:buffer/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">buffer/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_record_batch.erl#L65" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> buffer() :: #{offset => non_neg_integer(), length => pos_integer()}.</pre>
+
+      </div>
+
+
+  </section>
+</section>
+<section class="detail" id="t:field_node/0">
+
+  <div class="detail-header">
+    <a href="#t:field_node/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">field_node/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_record_batch.erl#L64" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> field_node() :: #{length => pos_integer(), null_count => non_neg_integer()}.</pre>
+
+      </div>
+
+
+  </section>
+</section>
+
+    </div>
+  </section>
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="from_erlang/1">
+
+  <div class="detail-header">
+    <a href="#from_erlang/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Arrays)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_record_batch.erl#L69" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Arrays :: [#array{}]) -> RecordBatch :: #record_batch{}.</pre>
+
+      </div>
+
+Creates a RecordBatch given a list of arrays
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_ipc_record_batch.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_ipc_schema.html b/main/arrow_ipc_schema.html
new file mode 100644
index 0000000..e8ab129
--- /dev/null
+++ b/main/arrow_ipc_schema.html
@@ -0,0 +1,318 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_ipc_schema — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_schema.erl#L55" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_ipc_schema</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides a record and functions to deal with Schemas</p><p>A Schema[1] represents a table, or a list of arrays of equal length. This module provides a record and a function to manage all the metadata required to represent a schema. Metadata such as:</p><ol><li><code>endianness</code>: The Endianness of the table. One of <code>little</code> or <code>big</code>. Defaults to <code>little</code>.</li><li><code>fields</code>: The list of fields[2] in a table.</li><li><code>type</code>: The [...]
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-types summary">
+  <h2>
+    <a href="#types">Types</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:endianness/0" translate="no">endianness/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Endianness of the data. Either <code>little</code> or <code>big</code>.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:feature/0" translate="no">feature/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Features used in the data which may not be present in other implementations. See the definition: <a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L51-L78" target="_top">https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L51-L78</a></div>
+
+    </div>
+
+</div>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/1" translate="no">from_erlang(Fields)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a Schema given an ordered list of fields.</div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="types" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#types">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Types
+    </h1>
+    <div class="types-list">
+<section class="detail" id="t:endianness/0">
+
+  <div class="detail-header">
+    <a href="#t:endianness/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">endianness/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_schema.erl#L61" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> endianness() :: little | big.</pre>
+
+      </div>
+
+Endianness of the data. Either <code>little</code> or <code>big</code>.
+  </section>
+</section>
+<section class="detail" id="t:feature/0">
+
+  <div class="detail-header">
+    <a href="#t:feature/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">feature/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_schema.erl#L64" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> feature() :: unused | dictionary_replacement | compressed_body.</pre>
+
+      </div>
+
+Features used in the data which may not be present in other implementations. See the definition: <a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L51-L78" target="_top">https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L51-L78</a>
+  </section>
+</section>
+
+    </div>
+  </section>
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="from_erlang/1">
+
+  <div class="detail-header">
+    <a href="#from_erlang/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Fields)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_schema.erl#L71" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Fields :: [#field{}]) -> Schema :: #schema{}.</pre>
+
+      </div>
+
+Creates a Schema given an ordered list of fields.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_ipc_schema.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_ipc_type.html b/main/arrow_ipc_type.html
new file mode 100644
index 0000000..09b63d0
--- /dev/null
+++ b/main/arrow_ipc_type.html
@@ -0,0 +1,468 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_ipc_type — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L31" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_ipc_type</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides types and functions to work with IPC types.</p><p>This module provides functions and types to produce the types in IPC Schema definitions[1]. These types are generated according to these[2] definitions. The types have been represented in the form <code>{TypeName, Metadata}</code>, where <code>TypeName</code> is the name of the type and is an atom, and <code>Metadata</code> is a map of all the metadata associated with it. In case a type has no metadata associated with it, it i [...]
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-types summary">
+  <h2>
+    <a href="#types">Types</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:fixed_size_list/0" translate="no">fixed_size_list/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Represents a Fixed-Size List Layout Array.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:floating_point/0" translate="no">floating_point/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Represents a Fixed-Size Primitive Layout Array of f16, f32 or f64.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:int/0" translate="no">int/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Represents a Fixed-Size Primitive Layout Array of an integral type.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:ipc_type/0" translate="no">ipc_type/0</a>
+
+      </div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:large_binary/0" translate="no">large_binary/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Represents a Variable-Size Binary Layout Array with 64 bit offsets.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:large_list/0" translate="no">large_list/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Represents a Variable-Size List Layout Array with 64 bit offsets.</div>
+
+    </div>
+
+</div>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/1" translate="no">from_erlang(Array)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the IPC Type for an <code>#array{}</code>.</div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="types" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#types">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Types
+    </h1>
+    <div class="types-list">
+<section class="detail" id="t:fixed_size_list/0">
+
+  <div class="detail-header">
+    <a href="#t:fixed_size_list/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">fixed_size_list/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L80" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> fixed_size_list() :: {fixed_size_list, #{list_size => pos_integer()}}.</pre>
+
+      </div>
+
+Represents a Fixed-Size List Layout Array.
+  </section>
+</section>
+<section class="detail" id="t:floating_point/0">
+
+  <div class="detail-header">
+    <a href="#t:floating_point/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">floating_point/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L77" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> floating_point() :: {floating_point, #{precision => half | single | double}}.</pre>
+
+      </div>
+
+Represents a Fixed-Size Primitive Layout Array of f16, f32 or f64.
+  </section>
+</section>
+<section class="detail" id="t:int/0">
+
+  <div class="detail-header">
+    <a href="#t:int/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">int/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L74" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> int() :: {int, #{bit_width => pos_integer(), is_signed => boolean()}}.</pre>
+
+      </div>
+
+Represents a Fixed-Size Primitive Layout Array of an integral type.
+  </section>
+</section>
+<section class="detail" id="t:ipc_type/0">
+
+  <div class="detail-header">
+    <a href="#t:ipc_type/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">ipc_type/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L48" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> ipc_type() :: <a href="#t:int/0">int</a>() | <a href="#t:floating_point/0">floating_point</a>() | <a href="#t:fixed_size_list/0">fixed_size_list</a>() | <a href="#t:large_binary/0">large_binary</a>() | <a href="#t:large_list/0">large_list</a>().</pre>
+
+      </div>
+
+
+  </section>
+</section>
+<section class="detail" id="t:large_binary/0">
+
+  <div class="detail-header">
+    <a href="#t:large_binary/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">large_binary/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L83" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> large_binary() :: large_binary.</pre>
+
+      </div>
+
+Represents a Variable-Size Binary Layout Array with 64 bit offsets.
+  </section>
+</section>
+<section class="detail" id="t:large_list/0">
+
+  <div class="detail-header">
+    <a href="#t:large_list/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">large_list/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L86" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> large_list() :: large_list.</pre>
+
+      </div>
+
+Represents a Variable-Size List Layout Array with 64 bit offsets.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="from_erlang/1">
+
+  <div class="detail-header">
+    <a href="#from_erlang/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Array)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L95" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Array :: <a href="arrow_array.html#t:array/0">arrow_array:array</a>()) -> Type :: <a href="#t:ipc_type/0">ipc_type</a>().</pre>
+
+      </div>
+
+Returns the IPC Type for an <code>#array{}</code>.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_ipc_type.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_offsets.html b/main/arrow_offsets.html
new file mode 100644
index 0000000..82eb52c
--- /dev/null
+++ b/main/arrow_offsets.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_offsets — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_offsets.erl#L59" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_offsets</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides support for Apache Arrow's Offsets</p><p>Arrow has a concept of offsets[1] in order to tell the length of a slot[2] or a single element in an array of variable-size elements. This module provides support for generating offsets.</p><p>There are couple of things to remember about offsets:</p><ol><li><p>Each element in the offsets coresponds to the distance in bytes of the coresponding element in the values from the beginning of the buffer.</p>I.E., distance of values[j] from be [...]
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#new/2" translate="no">new(Value, Type)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the offsets array given some values and their type as a buffer.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#new/3" translate="no">new(Value, Type, Length)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the offsets array given some values, their type and length as a buffer.</div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="new/2">
+
+  <div class="detail-header">
+    <a href="#new/2" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">new(Value, Type)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_offsets.erl#L70" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> new(Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()], Type :: <a href="arrow_type.html#t:arrow_longhand_type/0">arrow_type:arrow_longhand_type</a>()) ->
+       Buffer :: #buffer{}.</pre>
+
+      </div>
+
+Returns the offsets array given some values and their type as a buffer.
+  </section>
+</section>
+<section class="detail" id="new/3">
+
+  <div class="detail-header">
+    <a href="#new/3" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">new(Value, Type, Length)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_offsets.erl#L80" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> new(Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()],
+    Type :: <a href="arrow_type.html#t:arrow_longhand_type/0">arrow_type:arrow_longhand_type</a>(),
+    Length :: pos_integer()) ->
+       Buffer :: #buffer{}.</pre>
+
+      </div>
+
+Returns the offsets array given some values, their type and length as a buffer.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_offsets.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_type.html b/main/arrow_type.html
new file mode 100644
index 0000000..0be4383
--- /dev/null
+++ b/main/arrow_type.html
@@ -0,0 +1,1260 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_type — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L134" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_type</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides representation for as well as functions for working with Arrow specific datatypes.</p><p>This module provides a longhand (a 2 tuple) as well as a shorthand (an atom) represenations for representing a primitive types. Additionally it represents Nested Types (i.e. Lists) as well as Native Types (i.e. Erlang Native Types that are supported by this package).</p><p>Generally, when we say an array A has type X, we mean that each element in A has type X. Thus, an array of type of <c [...]
+  <a href="#module-primitive-types" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">primitive-types</p>
+  </a>
+  <a name="Primitive_Types">Primitive Types</a>
+</h3>
+<p>A Primitive Type is any type that refers to a single value (as opposed to a list of values). Currently it includes Booleans, Signed Integers, Unsigned Integers, Floats and Binaries. Both a longhand and shorthand syntax had been provided to initiate a type.</p><p>The following is a comprehensive list of all supported primitive types:</p><ol><li>Booleans</li><li>Signed Integers: Includes <code>Int 8</code>, <code>Int 16</code>, <code>Int 32</code> and <code>Int 64</code></li><li>Unsigne [...]
+  <a href="#module-nested-type" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">nested-type</p>
+  </a>
+  <a name="Nested_Type">Nested Type</a>
+</h3>
+<p>A Nested Type is any data structure that supports nesting. This can include Lists, FixedLists, Maps, Structs and more, but is curently limited to FixedLists. Nested Types are represented using a 3 tuple: <code>{NestedType, Type, Length}</code>. <code>NestedType</code> refers to the data structure that is nesting your primitive type. <code>Type</code> refers to the type that is being nested in the data structure. Do note that <code>Type</code> can be a Primitive Type, or another Nested [...]
+  <a href="#module-native-type" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">native-type</p>
+  </a>
+  <a name="Native_Type">Native Type</a>
+</h3>
+A Native Type is any Erlang Datatype that can be serialized by <a href="arrow.html"><code>arrow</code></a>, and is represented by the type <a href="#t:native_type/0"><code>native_type/0</code></a>. It currently only includes values that are primitive in nature such as booleans, integers, floats, binaries, and additionally the atoms <code>undefined</code> and <code>nil</code> to represent a <code>NULL</code> value.
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-types summary">
+  <h2>
+    <a href="#types">Types</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_bin/0" translate="no">arrow_bin/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Any binary whose length in bits is a multiple of 8.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_bool/0" translate="no">arrow_bool/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Apache Arrow Boolean. One of <code>True</code> or <code>False</code></div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_float/0" translate="no">arrow_float/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Any floating point number in Apache Arrow. Includes <code>Float 16</code>, <code>Float 32</code> and <code>Float 64</code>.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_int/0" translate="no">arrow_int/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Any signed integer in Apache Arrow. Includes <code>Int 8</code>, <code>Int 16</code>, <code>Int 32</code> and <code>Int 64</code>.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_long_bin/0" translate="no">arrow_long_bin/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Longhand representation for binaries in Apache Arrow.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_long_bool/0" translate="no">arrow_long_bool/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Longhand representation for booleans in Apache Arrow.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_long_float/0" translate="no">arrow_long_float/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Longhand representation for any floating point number in Apache Arrow. Includes <code>Float 16</code>, <code>Float 32</code> and <code>Float 64</code>.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_long_int/0" translate="no">arrow_long_int/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Longhand representation for any signed integer in Apache Arrow. Includes <code>Int 8</code>, <code>Int 16</code>, <code>Int 32</code> and <code>Int 64</code>.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_long_nested_type/0" translate="no">arrow_long_nested_type/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">A Nested Type in which the base primitive type is in longhand.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_long_uint/0" translate="no">arrow_long_uint/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Longhand representation for any unsigned integer in Apache Arrow. Includes <code>UInt 8</code>, <code>UInt 16</code>, <code>UInt 32</code> and <code>UInt 64</code>.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_longhand_type/0" translate="no">arrow_longhand_type/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Longhand syntax of any type.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_nested_type/0" translate="no">arrow_nested_type/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">A Nested Type.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_primitive_type/0" translate="no">arrow_primitive_type/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Any primitive logical type in Apache Arrow that is supported by <a href="arrow.html"><code>arrow</code></a>.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_short_bin/0" translate="no">arrow_short_bin/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Shorthand representation for booleans in Apache Arrow.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_short_bool/0" translate="no">arrow_short_bool/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Shorthand representation for booleans in Apache Arrow.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_short_float/0" translate="no">arrow_short_float/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Shorthand representation for any floating point number in Apache Arrow. Includes <code>Float 16</code>, <code>Float 32</code> and <code>Float 64</code>.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_short_int/0" translate="no">arrow_short_int/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Shorthand representation for any signed integer in Apache Arrow. Includes <code>Int 8</code>, <code>Int 16</code>, <code>Int 32</code> and <code>Int 64</code>.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_short_nested_type/0" translate="no">arrow_short_nested_type/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">A Nested Type in which the base primitive type is in shorthand.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_short_uint/0" translate="no">arrow_short_uint/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Shorthand representation for any unsigned integer in Apache Arrow. Includes <code>UInt 8</code>, <code>UInt 16</code>, <code>UInt 32</code> and <code>UInt 64</code>.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_shorthand_type/0" translate="no">arrow_shorthand_type/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Shorthand syntax of any type.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_type/0" translate="no">arrow_type/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Any type that is native to Apache Arrow that is supported by <a href="arrow.html"><code>arrow</code></a></div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:arrow_uint/0" translate="no">arrow_uint/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Any unsigned integer in Apache Arrow. Includes <code>UInt 8</code>, <code>UInt 16</code>, <code>UInt 32</code> and <code>UInt 64</code>.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#t:native_type/0" translate="no">native_type/0</a>
+
+      </div>
+
+        <div class="summary-synopsis">Any Erlang datatype which <a href="arrow.html"><code>arrow</code></a> supports serializing from and deserializing into.</div>
+
+    </div>
+
+</div>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#bit_length/1" translate="no">bit_length(Type)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the size of the type in bits.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#byte_length/1" translate="no">byte_length(Type)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Returns the size of the type in bytes.</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#normalize/1" translate="no">normalize(Type)</a>
+
+      </div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#serialize/2" translate="no">serialize(Value, Type)</a>
+
+      </div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="types" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#types">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Types
+    </h1>
+    <div class="types-list">
+<section class="detail" id="t:arrow_bin/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_bin/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_bin/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L269" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_bin() :: <a href="#t:arrow_long_bin/0">arrow_long_bin</a>() | <a href="#t:arrow_short_bin/0">arrow_short_bin</a>().</pre>
+
+      </div>
+
+Any binary whose length in bits is a multiple of 8.
+  </section>
+</section>
+<section class="detail" id="t:arrow_bool/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_bool/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_bool/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L208" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_bool() :: <a href="#t:arrow_long_bool/0">arrow_long_bool</a>() | <a href="#t:arrow_short_bool/0">arrow_short_bool</a>().</pre>
+
+      </div>
+
+Apache Arrow Boolean. One of <code>True</code> or <code>False</code>
+  </section>
+</section>
+<section class="detail" id="t:arrow_float/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_float/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_float/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L253" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_float() :: <a href="#t:arrow_long_float/0">arrow_long_float</a>() | <a href="#t:arrow_short_float/0">arrow_short_float</a>().</pre>
+
+      </div>
+
+Any floating point number in Apache Arrow. Includes <code>Float 16</code>, <code>Float 32</code> and <code>Float 64</code>.
+  </section>
+</section>
+<section class="detail" id="t:arrow_int/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_int/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_int/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L221" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_int() :: <a href="#t:arrow_long_int/0">arrow_long_int</a>() | <a href="#t:arrow_short_int/0">arrow_short_int</a>().</pre>
+
+      </div>
+
+Any signed integer in Apache Arrow. Includes <code>Int 8</code>, <code>Int 16</code>, <code>Int 32</code> and <code>Int 64</code>.
+  </section>
+</section>
+<section class="detail" id="t:arrow_long_bin/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_long_bin/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_long_bin/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L272" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_long_bin() :: {bin, undefined}.</pre>
+
+      </div>
+
+Longhand representation for binaries in Apache Arrow.
+  </section>
+</section>
+<section class="detail" id="t:arrow_long_bool/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_long_bool/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_long_bool/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L211" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_long_bool() :: {bool, undefined}.</pre>
+
+      </div>
+
+Longhand representation for booleans in Apache Arrow.
+  </section>
+</section>
+<section class="detail" id="t:arrow_long_float/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_long_float/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_long_float/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L257" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_long_float() :: {f, 16} | {f, 32} | {f, 64}.</pre>
+
+      </div>
+
+Longhand representation for any floating point number in Apache Arrow. Includes <code>Float 16</code>, <code>Float 32</code> and <code>Float 64</code>.
+  </section>
+</section>
+<section class="detail" id="t:arrow_long_int/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_long_int/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_long_int/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L225" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_long_int() :: {s, 8} | {s, 16} | {s, 32} | {s, 64}.</pre>
+
+      </div>
+
+Longhand representation for any signed integer in Apache Arrow. Includes <code>Int 8</code>, <code>Int 16</code>, <code>Int 32</code> and <code>Int 64</code>.
+  </section>
+</section>
+<section class="detail" id="t:arrow_long_nested_type/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_long_nested_type/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_long_nested_type/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L290" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_long_nested_type() ::
+    {fixed_list, <a href="#t:arrow_long_nested_type/0">arrow_long_nested_type</a>() | <a href="#t:arrow_longhand_type/0">arrow_longhand_type</a>(), pos_integer()} |
+    {variable_list, <a href="#t:arrow_long_nested_type/0">arrow_long_nested_type</a>() | <a href="#t:arrow_longhand_type/0">arrow_longhand_type</a>(), undefined}.</pre>
+
+      </div>
+
+A Nested Type in which the base primitive type is in longhand.
+  </section>
+</section>
+<section class="detail" id="t:arrow_long_uint/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_long_uint/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_long_uint/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L241" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_long_uint() :: {u, 8} | {u, 16} | {u, 32} | {u, 64}.</pre>
+
+      </div>
+
+Longhand representation for any unsigned integer in Apache Arrow. Includes <code>UInt 8</code>, <code>UInt 16</code>, <code>UInt 32</code> and <code>UInt 64</code>.
+  </section>
+</section>
+<section class="detail" id="t:arrow_longhand_type/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_longhand_type/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_longhand_type/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L186" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_longhand_type() ::
+    <a href="#t:arrow_long_bool/0">arrow_long_bool</a>() |
+    <a href="#t:arrow_long_int/0">arrow_long_int</a>() |
+    <a href="#t:arrow_long_uint/0">arrow_long_uint</a>() |
+    <a href="#t:arrow_long_float/0">arrow_long_float</a>() |
+    <a href="#t:arrow_long_bin/0">arrow_long_bin</a>() |
+    <a href="#t:arrow_long_nested_type/0">arrow_long_nested_type</a>().</pre>
+
+      </div>
+
+Longhand syntax of any type.
+  </section>
+</section>
+<section class="detail" id="t:arrow_nested_type/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_nested_type/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_nested_type/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L282" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_nested_type() :: <a href="#t:arrow_short_nested_type/0">arrow_short_nested_type</a>() | <a href="#t:arrow_long_nested_type/0">arrow_long_nested_type</a>().</pre>
+
+      </div>
+
+A Nested Type.
+  </section>
+</section>
+<section class="detail" id="t:arrow_primitive_type/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_primitive_type/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_primitive_type/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L178" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_primitive_type() :: <a href="#t:arrow_bool/0">arrow_bool</a>() | <a href="#t:arrow_int/0">arrow_int</a>() | <a href="#t:arrow_uint/0">arrow_uint</a>() | <a href="#t:arrow_float/0">arrow_float</a>() | <a href="#t:arrow_bin/0">arrow_bin</a>().</pre>
+
+      </div>
+
+Any primitive logical type in Apache Arrow that is supported by <a href="arrow.html"><code>arrow</code></a>.
+  </section>
+</section>
+<section class="detail" id="t:arrow_short_bin/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_short_bin/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_short_bin/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L275" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_short_bin() :: bin.</pre>
+
+      </div>
+
+Shorthand representation for booleans in Apache Arrow.
+  </section>
+</section>
+<section class="detail" id="t:arrow_short_bool/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_short_bool/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_short_bool/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L214" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_short_bool() :: bool.</pre>
+
+      </div>
+
+Shorthand representation for booleans in Apache Arrow.
+  </section>
+</section>
+<section class="detail" id="t:arrow_short_float/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_short_float/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_short_float/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L261" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_short_float() :: f16 | f32 | f64.</pre>
+
+      </div>
+
+Shorthand representation for any floating point number in Apache Arrow. Includes <code>Float 16</code>, <code>Float 32</code> and <code>Float 64</code>.
+  </section>
+</section>
+<section class="detail" id="t:arrow_short_int/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_short_int/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_short_int/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L229" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_short_int() :: s8 | s16 | s32 | s64.</pre>
+
+      </div>
+
+Shorthand representation for any signed integer in Apache Arrow. Includes <code>Int 8</code>, <code>Int 16</code>, <code>Int 32</code> and <code>Int 64</code>.
+  </section>
+</section>
+<section class="detail" id="t:arrow_short_nested_type/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_short_nested_type/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_short_nested_type/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L285" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_short_nested_type() ::
+    {fixed_list, <a href="#t:arrow_short_nested_type/0">arrow_short_nested_type</a>() | <a href="#t:arrow_shorthand_type/0">arrow_shorthand_type</a>(), pos_integer()} |
+    {variable_list, <a href="#t:arrow_short_nested_type/0">arrow_short_nested_type</a>() | <a href="#t:arrow_shorthand_type/0">arrow_shorthand_type</a>(), undefined}.</pre>
+
+      </div>
+
+A Nested Type in which the base primitive type is in shorthand.
+  </section>
+</section>
+<section class="detail" id="t:arrow_short_uint/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_short_uint/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_short_uint/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L245" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_short_uint() :: u8 | u16 | u32 | u64.</pre>
+
+      </div>
+
+Shorthand representation for any unsigned integer in Apache Arrow. Includes <code>UInt 8</code>, <code>UInt 16</code>, <code>UInt 32</code> and <code>UInt 64</code>.
+  </section>
+</section>
+<section class="detail" id="t:arrow_shorthand_type/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_shorthand_type/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_shorthand_type/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L195" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_shorthand_type() ::
+    <a href="#t:arrow_short_bool/0">arrow_short_bool</a>() |
+    <a href="#t:arrow_short_int/0">arrow_short_int</a>() |
+    <a href="#t:arrow_short_uint/0">arrow_short_uint</a>() |
+    <a href="#t:arrow_short_float/0">arrow_short_float</a>() |
+    <a href="#t:arrow_short_bin/0">arrow_short_bin</a>() |
+    <a href="#t:arrow_short_nested_type/0">arrow_short_nested_type</a>().</pre>
+
+      </div>
+
+Shorthand syntax of any type.
+  </section>
+</section>
+<section class="detail" id="t:arrow_type/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_type/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_type/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L175" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_type() :: <a href="#t:arrow_primitive_type/0">arrow_primitive_type</a>() | <a href="#t:arrow_nested_type/0">arrow_nested_type</a>().</pre>
+
+      </div>
+
+Any type that is native to Apache Arrow that is supported by <a href="arrow.html"><code>arrow</code></a>
+  </section>
+</section>
+<section class="detail" id="t:arrow_uint/0">
+
+  <div class="detail-header">
+    <a href="#t:arrow_uint/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">arrow_uint/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L237" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> arrow_uint() :: <a href="#t:arrow_long_uint/0">arrow_long_uint</a>() | <a href="#t:arrow_short_uint/0">arrow_short_uint</a>().</pre>
+
+      </div>
+
+Any unsigned integer in Apache Arrow. Includes <code>UInt 8</code>, <code>UInt 16</code>, <code>UInt 32</code> and <code>UInt 64</code>.
+  </section>
+</section>
+<section class="detail" id="t:native_type/0">
+
+  <div class="detail-header">
+    <a href="#t:native_type/0" class="detail-link" title="Link to this type">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this type</span>
+    </a>
+    <h1 class="signature" translate="no">native_type/0</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L299" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-type</span> native_type() :: boolean() | undefined | nil | integer() | float() | binary().</pre>
+
+      </div>
+
+Any Erlang datatype which <a href="arrow.html"><code>arrow</code></a> supports serializing from and deserializing into.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="bit_length/1">
+
+  <div class="detail-header">
+    <a href="#bit_length/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">bit_length(Type)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L358" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> bit_length(Type :: <a href="#t:arrow_type/0">arrow_type</a>()) -> Length :: pos_integer() | undefined.</pre>
+
+      </div>
+
+Returns the size of the type in bits.
+  </section>
+</section>
+<section class="detail" id="byte_length/1">
+
+  <div class="detail-header">
+    <a href="#byte_length/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">byte_length(Type)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L371" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> byte_length(Type :: <a href="#t:arrow_type/0">arrow_type</a>()) -> Length :: pos_integer() | undefined.</pre>
+
+      </div>
+
+Returns the size of the type in bytes.
+  </section>
+</section>
+<section class="detail" id="normalize/1">
+
+  <div class="detail-header">
+    <a href="#normalize/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">normalize(Type)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L320" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> normalize(Type :: <a href="#t:arrow_type/0">arrow_type</a>()) -> <a href="#t:arrow_longhand_type/0">arrow_longhand_type</a>().</pre>
+
+      </div>
+
+
+  </section>
+</section>
+<section class="detail" id="serialize/2">
+
+  <div class="detail-header">
+    <a href="#serialize/2" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">serialize(Value, Type)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L385" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> serialize(Value :: <a href="#t:native_type/0">native_type</a>(), Type :: <a href="#t:arrow_longhand_type/0">arrow_longhand_type</a>()) -> binary().</pre>
+
+      </div>
+
+
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_type.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_variable_binary_array.html b/main/arrow_variable_binary_array.html
new file mode 100644
index 0000000..c8bda3f
--- /dev/null
+++ b/main/arrow_variable_binary_array.html
@@ -0,0 +1,261 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_variable_binary_array — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_variable_binary_array.erl#L23" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_variable_binary_array</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides support for Arrow's Variable-Sized Binary Layout.</p>The Variable-Sized Binary Layout[1] provides support for storing binaries of varying length in a way similar to the primitive layout, i.e. in a 1 Dimensional Array.
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/1" translate="no">from_erlang(Values)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a Variable-Sized Binary Array given the values</div>
+
+    </div>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/2" translate="no">from_erlang(Values, Opts)</a>
+
+      </div>
+
+        <div class="summary-synopsis">Creates a Variable-Sized Binary Array given the values and options in the form of a map, from its erlang representation.</div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="from_erlang/1">
+
+  <div class="detail-header">
+    <a href="#from_erlang/1" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Values)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_variable_binary_array.erl#L38" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Values :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()]) -> Array :: #array{}.</pre>
+
+      </div>
+
+Creates a Variable-Sized Binary Array given the values
+  </section>
+</section>
+<section class="detail" id="from_erlang/2">
+
+  <div class="detail-header">
+    <a href="#from_erlang/2" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Values, Opts)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_variable_binary_array.erl#L33" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Values :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()], Opts :: map()) -> Array :: #array{}.</pre>
+
+      </div>
+
+Creates a Variable-Sized Binary Array given the values and options in the form of a map, from its erlang representation.
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_variable_binary_array.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/arrow_variable_list_array.html b/main/arrow_variable_list_array.html
new file mode 100644
index 0000000..fbccc18
--- /dev/null
+++ b/main/arrow_variable_list_array.html
@@ -0,0 +1,227 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>arrow_variable_list_array — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="modules" class="page-module">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_variable_list_array.erl#L41" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+  <span translate="no">arrow_variable_list_array</span> 
+  <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+</h1>
+
+
+  <section id="moduledoc">
+<p>Provides support for Arrow's Fixed-Size List Layout.</p><p>This module provides support for the Fixed-Size List Layout[1], which is an layout that supports storing a list of lists of a specific length and nesting.</p><h3 id="module-invalid-input" class="section-heading">
+  <a href="#module-invalid-input" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">invalid-input</p>
+  </a>
+  <a name="Invalid_Input">Invalid Input</a>
+</h3>
+<p>It is important that care is taken when passing input values to this module. For performance reasons, the input is not validated. The function crashes on nesting that is inconsitent: a. with the type, b. between elements. The behaviour on invalid input <strong>CANNOT BE GUARANTEED</strong>. Therefore, one must be careful to not to <strong>CRASH THE PROCESS</strong> or worse still, <strong>PRODUCE INVALID OUTPUT</strong>.</p><p>Any input must follow the following rules:</p><ol><li>The  [...]
+  </section>
+
+
+  <section id="summary" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#summary">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+      Summary
+    </h1>
+<div class="summary-functions summary">
+  <h2>
+    <a href="#functions">Functions</a>
+  </h2>
+
+    <div class="summary-row">
+      <div class="summary-signature">
+        <a href="#from_erlang/2" translate="no">from_erlang(Values, Type)</a>
+
+      </div>
+
+    </div>
+
+</div>
+
+  </section>
+
+
+  <section id="functions" class="details-list">
+    <h1 class="section-heading">
+      <a class="hover-link" href="#functions">
+        <i class="ri-link-m" aria-hidden="true"></i>
+        <span class="sr-only">Link to this section</span>
+      </a>
+Functions
+    </h1>
+    <div class="functions-list">
+<section class="detail" id="from_erlang/2">
+
+  <div class="detail-header">
+    <a href="#from_erlang/2" class="detail-link" title="Link to this function">
+      <i class="ri-link-m" aria-hidden="true"></i>
+      <span class="sr-only">Link to this function</span>
+    </a>
+    <h1 class="signature" translate="no">from_erlang(Values, Type)</h1>
+
+      <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_variable_list_array.erl#L51" class="icon-action" rel="help" title="View Source">
+       <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+       <span class="sr-only">View Source</span>
+     </a>
+
+
+  </div>
+
+  <section class="docstring">
+
+      <div class="specs">
+
+          <pre translate="no"><span class="attribute">-spec</span> from_erlang(Values :: list(), Type :: map() | <a href="arrow_type.html#t:arrow_type/0">arrow_type:arrow_type</a>()) -> Array :: #array{}.</pre>
+
+      </div>
+
+
+  </section>
+</section>
+
+    </div>
+  </section>
+
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/src/arrow_variable_list_array.erl">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/dist/handlebars.runtime-NWIB6V2M.js b/main/dist/handlebars.runtime-NWIB6V2M.js
new file mode 100644
index 0000000..117dc6c
--- /dev/null
+++ b/main/dist/handlebars.runtime-NWIB6V2M.js
@@ -0,0 +1,30 @@
+/**!
+
+ @license
+ handlebars v4.7.7
+
+Copyright (C) 2011-2019 by Yehuda Katz
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+*/(function(r,e){typeof exports=="object"&&typeof module=="object"?module.exports=e():typeof define=="function"&&define.amd?define([],e):typeof exports=="object"?exports.Handlebars=e():r.Handlebars=e()})(this,function(){return function(u){var r={};function e(n){if(r[n])return r[n].exports;var t=r[n]={exports:{},id:n,loaded:!1};return u[n].call(t.exports,t,t.exports,e),t.loaded=!0,t.exports}return e.m=u,e.c=r,e.p="",e(0)}([function(u,r,e){"use strict";var n=e(1).default,t=e(2).default;r._ [...]
+You can add a runtime option to disable the check or this warning:
+See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function E(){t(h).forEach(function(I){delete h[I]})}},function(u,r,e){u.exports={default:e(34),__esModule:!0}},function(u,r,e){var n=e(8);u.exports=function(f,a){return n.create(f,a)}},function(u,r,e){"use strict";var n=e(33).default;r.__esModule=!0,r.createNewLookupObject=f;var t=e(4);function f(){for(var a=arguments.length,i=Array(a),l=0;l<a;l++)i[l]=arguments[l];return t. [...]
+`),j=0,V=T.length;j<V&&!(!T[j]&&j+1===V);j++)T[j]=d.indent+T[j];D=T.join(`
+`)}return D}else throw new v.default("The partial "+d.name+" could not be compiled when running in runtime-only mode")}var L={strict:function(s,d,A){if(!s||!(d in s))throw new v.default('"'+d+'" not defined in '+s,{loc:A});return L.lookupProperty(s,d)},lookupProperty:function(s,d){var A=s[d];if(A==null||Object.prototype.hasOwnProperty.call(s,d)||E.resultIsAllowed(A,L.protoAccessControl,d))return A},lookup:function(s,d){for(var A=s.length,D=0;D<A;D++){var T=s[D]&&L.lookupProperty(s[D],d); [...]
diff --git a/main/dist/handlebars.templates-XWGFFSCD.js b/main/dist/handlebars.templates-XWGFFSCD.js
new file mode 100644
index 0000000..5590381
--- /dev/null
+++ b/main/dist/handlebars.templates-XWGFFSCD.js
@@ -0,0 +1,187 @@
+(()=>{(function(){var y=Handlebars.template,d=Handlebars.templates=Handlebars.templates||{};d["autocomplete-suggestions"]=y({1:function(n,l,a,c,r){var e,o,u=l??(n.nullContext||{}),s=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return'    <a href="'+t((o=(o=f(a,"link")||(l!=null?f(l,"link"):l))!=null?o:s,typeof o===i?o.call(u,{name:"link",hash:{},data:r,loc:{start:{line:7,column:13},end: [...]
+      <div class="title">
+        <span translate="no">`+((e=(o=(o=f(a,"title")||(l!=null?f(l,"title"):l))!=null?o:s,typeof o===i?o.call(u,{name:"title",hash:{},data:r,loc:{start:{line:9,column:29},end:{line:9,column:40}}}):o))!=null?e:"")+`</span>
+`+((e=f(a,"if").call(u,l!=null?f(l,"label"):l,{name:"if",hash:{},fn:n.program(2,r,0),inverse:n.noop,data:r,loc:{start:{line:10,column:8},end:{line:12,column:15}}}))!=null?e:"")+`      </div>
+
+`+((e=f(a,"if").call(u,l!=null?f(l,"description"):l,{name:"if",hash:{},fn:n.program(4,r,0),inverse:n.noop,data:r,loc:{start:{line:15,column:6},end:{line:19,column:13}}}))!=null?e:"")+`    </a>
+`},2:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return'          <span class="label">('+n.escapeExpression((e=(e=o(a,"label")||(l!=null?o(l,"label"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"label",hash:{},data:r,loc:{start:{line:11,column:31},end:{line:11,column:40}}}):e))+`)</span>
+`},4:function(n,l,a,c,r){var e,o,u=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return`        <div class="description" translate="no">
+          `+((e=(o=(o=u(a,"description")||(l!=null?u(l,"description"):l))!=null?o:n.hooks.helperMissing,typeof o=="function"?o.call(l??(n.nullContext||{}),{name:"description",hash:{},data:r,loc:{start:{line:17,column:10},end:{line:17,column:27}}}):o))!=null?e:"")+`
+        </div>
+`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,r){var e,o,u=l??(n.nullContext||{}),s=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return`<div class="autocomplete-suggestions">
+  <a class="autocomplete-suggestion" href="search.html?q=`+t((o=(o=f(a,"term")||(l!=null?f(l,"term"):l))!=null?o:s,typeof o===i?o.call(u,{name:"term",hash:{},data:r,loc:{start:{line:2,column:57},end:{line:2,column:65}}}):o))+`" data-index="-1" tabindex="-1">
+    <div class="title">"<em>`+t((o=(o=f(a,"term")||(l!=null?f(l,"term"):l))!=null?o:s,typeof o===i?o.call(u,{name:"term",hash:{},data:r,loc:{start:{line:3,column:28},end:{line:3,column:36}}}):o))+`</em>"</div>
+    <div class="description">Search the documentation</div>
+  </a>
+`+((e=f(a,"each").call(u,l!=null?f(l,"suggestions"):l,{name:"each",hash:{},fn:n.program(1,r,0),inverse:n.noop,data:r,loc:{start:{line:6,column:2},end:{line:21,column:11}}}))!=null?e:"")+`</div>
+`},useData:!0}),d["modal-layout"]=y({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,r){return`<div id="modal" class="modal" tabindex="-1">
+  <div class="modal-contents">
+    <div class="modal-header">
+      <div class="modal-title"></div>
+      <button class="modal-close">\xD7</button>
+    </div>
+    <div class="modal-body">
+    </div>
+  </div>
+</div>
+`},useData:!0}),d["quick-switch-modal-body"]=y({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,r){return`<div id="quick-switch-modal-body">
+  <i class="ri-search-2-line" aria-hidden="true"></i>
+  <input type="text" id="quick-switch-input" class="search-input" placeholder="Jump to..." autocomplete="off" spellcheck="false">
+  <div id="quick-switch-results"></div>
+</div>
+`},useData:!0}),d["quick-switch-results"]=y({1:function(n,l,a,c,r){var e,o=l??(n.nullContext||{}),u=n.hooks.helperMissing,s="function",i=n.escapeExpression,t=n.lookupProperty||function(f,p){if(Object.prototype.hasOwnProperty.call(f,p))return f[p]};return'  <div class="quick-switch-result" data-index="'+i((e=(e=t(a,"index")||r&&t(r,"index"))!=null?e:u,typeof e===s?e.call(o,{name:"index",hash:{},data:r,loc:{start:{line:2,column:47},end:{line:2,column:57}}}):e))+`">
+    `+i((e=(e=t(a,"name")||(l!=null?t(l,"name"):l))!=null?e:u,typeof e===s?e.call(o,{name:"name",hash:{},data:r,loc:{start:{line:3,column:4},end:{line:3,column:12}}}):e))+`
+  </div>
+`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return(e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"each",hash:{},fn:n.program(1,r,0),inverse:n.noop,data:r,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))!=null?e:""},useData:!0}),d["search-results"]=y({1:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call( [...]
+`},3:function(n,l,a,c,r){return`    Invalid search
+`},5:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return(e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"each",hash:{},fn:n.program(6,r,0),inverse:n.noop,data:r,loc:{start:{line:15,column:2},end:{line:26,column:11}}}))!=null?e:""},6:function(n,l,a,c,r){var e,o=n.lambda,u=n.escapeExpression,s=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return`    [...]
+      <h2 class="result-id">
+        <a href="`+u(o(l!=null?s(l,"ref"):l,l))+`">
+          <span translate="no">`+u(o(l!=null?s(l,"title"):l,l))+"</span> <small>("+u(o(l!=null?s(l,"type"):l,l))+`)</small>
+        </a>
+      </h2>
+`+((e=s(a,"each").call(l??(n.nullContext||{}),l!=null?s(l,"excerpts"):l,{name:"each",hash:{},fn:n.program(7,r,0),inverse:n.noop,data:r,loc:{start:{line:22,column:8},end:{line:24,column:17}}}))!=null?e:"")+`    </div>
+`},7:function(n,l,a,c,r){var e;return'          <p class="result-elem">'+((e=n.lambda(l,l))!=null?e:"")+`</p>
+`},9:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return((e=(o(a,"isArray")||l&&o(l,"isArray")||n.hooks.helperMissing).call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"isArray",hash:{},fn:n.program(10,r,0),inverse:n.program(12,r,0),data:r,loc:{start:{line:28,column:2},end:{line:34,column:14}}}))!=null?e:"")+`
+  <p>The search functionality is full-text based. Here are some tips:</p>
+
+  <ul>
+    <li>Multiple words (such as <code>foo bar</code>) are searched as <code>OR</code></li>
+    <li>Use <code>*</code> anywhere (such as <code>fo*</code>) as wildcard</li>
+    <li>Use <code>+</code> before a word (such as <code>+foo</code>) to make its presence required</li>
+    <li>Use <code>-</code> before a word (such as <code>-foo</code>) to make its absence required</li>
+    <li>Use <code>:</code> to search on a particular field (such as <code>field:word</code>). The available fields are <code>title</code> and <code>doc</code></li>
+    <li>Use <code>WORD^NUMBER</code> (such as <code>foo^2</code>) to boost the given word</li>
+    <li>Use <code>WORD~NUMBER</code> (such as <code>foo~2</code>) to do a search with edit distance on word</li>
+  </ul>
+
+  <p>To quickly go to a module, type, or function, use the autocompletion feature in the sidebar search.</p>
+`},10:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return"    <p>Sorry, we couldn't find anything for <em>"+n.escapeExpression((e=(e=o(a,"value")||(l!=null?o(l,"value"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"value",hash:{},data:r,loc:{start:{line:29,column:48},end:{line:29,column:57}}}):e))+`</em>.</p>
+`},12:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"value"):l,{name:"if",hash:{},fn:n.program(13,r,0),inverse:n.program(15,r,0),data:r,loc:{start:{line:30,column:2},end:{line:34,column:2}}}))!=null?e:""},13:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return"    <p>Invalid search: "+n.e [...]
+`},15:function(n,l,a,c,r){return`    <p>Please type something into the search bar to perform a search.</p>
+  `},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,r){var e,o=l??(n.nullContext||{}),u=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return`<h1>
+`+((e=u(a,"if").call(o,l!=null?u(l,"value"):l,{name:"if",hash:{},fn:n.program(1,r,0),inverse:n.program(3,r,0),data:r,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))!=null?e:"")+`
+  <button class="icon-action display-settings">
+    <i class="ri-settings-3-line"></i>
+    <span class="sr-only">Settings</span>
+  </button>
+</h1>
+
+`+((e=(u(a,"isNonEmptyArray")||l&&u(l,"isNonEmptyArray")||n.hooks.helperMissing).call(o,l!=null?u(l,"results"):l,{name:"isNonEmptyArray",hash:{},fn:n.program(5,r,0),inverse:n.program(9,r,0),data:r,loc:{start:{line:14,column:0},end:{line:49,column:20}}}))!=null?e:"")},useData:!0}),d["settings-modal-body"]=y({1:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"des [...]
+          <dd class="shortcut-description">
+            `+n.escapeExpression(n.lambda(l!=null?o(l,"description"):l,l))+`
+          </dd>
+          <dt class="shortcut-keys">
+`+((e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"displayAs"):l,{name:"if",hash:{},fn:n.program(3,r,0),inverse:n.program(5,r,0),data:r,loc:{start:{line:46,column:12},end:{line:50,column:19}}}))!=null?e:"")+`          </dt>
+        </dl>
+`},3:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return"              "+((e=n.lambda(l!=null?o(l,"displayAs"):l,l))!=null?e:"")+`
+`},5:function(n,l,a,c,r){var e=n.lookupProperty||function(o,u){if(Object.prototype.hasOwnProperty.call(o,u))return o[u]};return"              <kbd><kbd>"+n.escapeExpression(n.lambda(l!=null?e(l,"key"):l,l))+`</kbd></kbd>
+`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return`<div id="settings-modal-content">
+  <div id="settings-content">
+    <label class="switch-button-container">
+      <div>
+        <span>Theme</span>
+        <p>Use the documentation UI in a theme.</p>
+      </div>
+      <div>
+        <select name="theme" class="settings-select">
+          <option value="dark">Dark</option>
+          <option value="light">Light</option>
+          <option value="system">System</option>
+        </select>
+      </div>
+    </label>
+    <label class="switch-button-container">
+      <div>
+        <span>Show tooltips</span>
+        <p>Show tooltips when mousing over code references.</p>
+      </div>
+      <div class="switch-button">
+        <input class="switch-button__checkbox" type="checkbox" name="tooltips" />
+        <div class="switch-button__bg"></div>
+      </div>
+    </label>
+    <label class="switch-button-container">
+      <div>
+        <span>Run in Livebook</span>
+        <p>Use Direct Address for \u201CRun in Livebook\u201D badges.</p>
+      </div>
+      <div class="switch-button">
+        <input class="switch-button__checkbox" type="checkbox" name="direct_livebook_url" />
+        <div class="switch-button__bg"></div>
+      </div>
+    </label>
+    <input class="input" type="url" name="livebook_url" placeholder="Enter Livebook instance URL" aria-label="Enter Livebook instance URL" />
+  </div>
+  <div id="keyboard-shortcuts-content" class="hidden">
+`+((e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"shortcuts"):l,{name:"each",hash:{},fn:n.program(1,r,0),inverse:n.noop,data:r,loc:{start:{line:39,column:4},end:{line:54,column:13}}}))!=null?e:"")+`  </div>
+</div>
+`},useData:!0}),d["sidebar-items"]=y({1:function(n,l,a,c,r,e,o){var u,s=l??(n.nullContext||{}),i=n.hooks.helperMissing,t=n.lookupProperty||function(f,p){if(Object.prototype.hasOwnProperty.call(f,p))return f[p]};return((u=(t(a,"groupChanged")||l&&t(l,"groupChanged")||i).call(s,o[1],(u=e[0][0])!=null?t(u,"group"):u,{name:"groupChanged",hash:{},fn:n.program(2,r,0,e,o),inverse:n.noop,data:r,blockParams:e,loc:{start:{line:2,column:2},end:{line:6,column:19}}}))!=null?u:"")+`
+`+((u=(t(a,"nestingChanged")||l&&t(l,"nestingChanged")||i).call(s,o[1],e[0][0],{name:"nestingChanged",hash:{},fn:n.program(7,r,0,e,o),inverse:n.noop,data:r,blockParams:e,loc:{start:{line:8,column:2},end:{line:10,column:21}}}))!=null?u:"")+`
+  <li class="`+((u=(t(a,"isLocal")||l&&t(l,"isLocal")||i).call(s,(u=e[0][0])!=null?t(u,"id"):u,{name:"isLocal",hash:{},fn:n.program(9,r,0,e,o),inverse:n.noop,data:r,blockParams:e,loc:{start:{line:12,column:13},end:{line:12,column:62}}}))!=null?u:"")+`">
+    <a href="`+n.escapeExpression(n.lambda((u=e[0][0])!=null?t(u,"id"):u,l))+".html"+((u=(t(a,"isLocal")||l&&t(l,"isLocal")||i).call(s,(u=e[0][0])!=null?t(u,"id"):u,{name:"isLocal",hash:{},fn:n.program(11,r,0,e,o),inverse:n.noop,data:r,blockParams:e,loc:{start:{line:13,column:29},end:{line:13,column:69}}}))!=null?u:"")+'" class="expand" '+((u=(t(a,"isArray")||l&&t(l,"isArray")||i).call(s,(u=e[0][0])!=null?t(u,"headers"):u,{name:"isArray",hash:{},fn:n.program(3,r,0,e,o),inverse:n.program( [...]
+`+((u=t(a,"if").call(s,(u=e[0][0])!=null?t(u,"nested_title"):u,{name:"if",hash:{},fn:n.program(13,r,0,e,o),inverse:n.program(15,r,0,e,o),data:r,blockParams:e,loc:{start:{line:14,column:6},end:{line:18,column:13}}}))!=null?u:"")+((u=(t(a,"isEmptyArray")||l&&t(l,"isEmptyArray")||i).call(s,(u=e[0][0])!=null?t(u,"headers"):u,{name:"isEmptyArray",hash:{},fn:n.program(3,r,0,e,o),inverse:n.program(17,r,0,e,o),data:r,blockParams:e,loc:{start:{line:19,column:6},end:{line:22,column:23}}}))!=null?u [...]
+
+`+((u=(t(a,"isArray")||l&&t(l,"isArray")||i).call(s,(u=e[0][0])!=null?t(u,"headers"):u,{name:"isArray",hash:{},fn:n.program(19,r,0,e,o),inverse:n.program(23,r,0,e,o),data:r,blockParams:e,loc:{start:{line:25,column:4},end:{line:73,column:16}}}))!=null?u:"")+`  </li>
+`},2:function(n,l,a,c,r,e){var o,u=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return'    <li class="group" '+((o=(u(a,"isArray")||l&&u(l,"isArray")||n.hooks.helperMissing).call(l??(n.nullContext||{}),(o=e[1][0])!=null?u(o,"headers"):o,{name:"isArray",hash:{},fn:n.program(3,r,0,e),inverse:n.program(5,r,0,e),data:r,blockParams:e,loc:{start:{line:3,column:22},end:{line:3,column:81}}}))!=null?o:"")+`>
+      `+n.escapeExpression(n.lambda((o=e[1][0])!=null?u(o,"group"):o,l))+`
+    </li>
+`},3:function(n,l,a,c,r){return""},5:function(n,l,a,c,r){return'translate="no"'},7:function(n,l,a,c,r,e){var o,u=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return'    <li class="nesting-context" aria-hidden="true" translate="no">'+n.escapeExpression(n.lambda((o=e[1][0])!=null?u(o,"nested_context"):o,l))+`</li>
+`},9:function(n,l,a,c,r){return"current-page open"},11:function(n,l,a,c,r){return"#content"},13:function(n,l,a,c,r,e){var o,u=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return"        "+((o=n.lambda((o=e[1][0])!=null?u(o,"nested_title"):o,l))!=null?o:"")+`
+`},15:function(n,l,a,c,r,e){var o,u=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return"        "+((o=n.lambda((o=e[1][0])!=null?u(o,"title"):o,l))!=null?o:"")+`
+`},17:function(n,l,a,c,r){return`        <span class="icon-expand"></span>
+`},19:function(n,l,a,c,r,e){var o,u=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return(o=(u(a,"isNonEmptyArray")||l&&u(l,"isNonEmptyArray")||n.hooks.helperMissing).call(l??(n.nullContext||{}),(o=e[1][0])!=null?u(o,"headers"):o,{name:"isNonEmptyArray",hash:{},fn:n.program(20,r,0,e),inverse:n.noop,data:r,blockParams:e,loc:{start:{line:26,column:6},end:{line:34,column:26}}}))!=null?o:""},20:function(n,l,a,c,r,e){var o,u=n.lookupProperty||functio [...]
+`+((o=u(a,"each").call(l??(n.nullContext||{}),(o=e[2][0])!=null?u(o,"headers"):o,{name:"each",hash:{},fn:n.program(21,r,0,e),inverse:n.noop,data:r,blockParams:e,loc:{start:{line:28,column:10},end:{line:32,column:19}}}))!=null?o:"")+`        </ul>
+`},21:function(n,l,a,c,r,e){var o,u,s=l??(n.nullContext||{}),i=n.hooks.helperMissing,t="function",f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return`            <li>
+              <a href="`+n.escapeExpression(n.lambda((o=e[3][0])!=null?f(o,"id"):o,l))+".html#"+((o=(u=(u=f(a,"anchor")||(l!=null?f(l,"anchor"):l))!=null?u:i,typeof u===t?u.call(s,{name:"anchor",hash:{},data:r,blockParams:e,loc:{start:{line:30,column:40},end:{line:30,column:52}}}):u))!=null?o:"")+'">'+((o=(u=(u=f(a,"id")||(l!=null?f(l,"id"):l))!=null?u:i,typeof u===t?u.call(s,{name:"id",hash:{},data:r,blockParams:e,loc:{start:{line:30,column:54},end:{line:30,column:62}}}):u))!=null?o:"")+`</a>
+            </li>
+`},23:function(n,l,a,c,r,e){var o,u=l??(n.nullContext||{}),s=n.hooks.helperMissing,i=n.lookupProperty||function(t,f){if(Object.prototype.hasOwnProperty.call(t,f))return t[f]};return`      <ul>
+`+((o=(i(a,"showSections")||l&&i(l,"showSections")||s).call(u,e[1][0],{name:"showSections",hash:{},fn:n.program(24,r,0,e),inverse:n.noop,data:r,blockParams:e,loc:{start:{line:37,column:8},end:{line:51,column:25}}}))!=null?o:"")+((o=(i(a,"showSummary")||l&&i(l,"showSummary")||s).call(u,e[1][0],{name:"showSummary",hash:{},fn:n.program(29,r,0,e),inverse:n.noop,data:r,blockParams:e,loc:{start:{line:52,column:8},end:{line:56,column:24}}}))!=null?o:"")+((o=i(a,"each").call(u,(o=e[1][0])!=null? [...]
+`},24:function(n,l,a,c,r,e){var o,u=l??(n.nullContext||{}),s=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return'          <li class="docs '+((o=(s(a,"isLocal")||l&&s(l,"isLocal")||n.hooks.helperMissing).call(u,(o=e[2][0])!=null?s(o,"id"):o,{name:"isLocal",hash:{},fn:n.program(25,r,0,e),inverse:n.noop,data:r,blockParams:e,loc:{start:{line:38,column:26},end:{line:38,column:62}}}))!=null?o:"")+`">
+            <a href="`+n.escapeExpression(n.lambda((o=e[2][0])!=null?s(o,"id"):o,l))+`.html#content" class="expand">
+              Sections
+              <span class="icon-expand"></span>
+            </a>
+            <ul class="sections-list deflist">
+`+((o=s(a,"each").call(u,l!=null?s(l,"sections"):l,{name:"each",hash:{},fn:n.program(27,r,0,e),inverse:n.noop,data:r,blockParams:e,loc:{start:{line:44,column:14},end:{line:48,column:23}}}))!=null?o:"")+`            </ul>
+          </li>
+`},25:function(n,l,a,c,r){return"open"},27:function(n,l,a,c,r,e){var o,u,s=n.escapeExpression,i=l??(n.nullContext||{}),t=n.hooks.helperMissing,f="function",p=n.lookupProperty||function(m,v){if(Object.prototype.hasOwnProperty.call(m,v))return m[v]};return`                <li>
+                  <a href="`+s(n.lambda((o=e[3][0])!=null?p(o,"id"):o,l))+".html#"+s((u=(u=p(a,"anchor")||(l!=null?p(l,"anchor"):l))!=null?u:t,typeof u===f?u.call(i,{name:"anchor",hash:{},data:r,blockParams:e,loc:{start:{line:46,column:44},end:{line:46,column:54}}}):u))+'">'+((o=(u=(u=p(a,"id")||(l!=null?p(l,"id"):l))!=null?u:t,typeof u===f?u.call(i,{name:"id",hash:{},data:r,blockParams:e,loc:{start:{line:46,column:56},end:{line:46,column:64}}}):u))!=null?o:"")+`</a>
+                </li>
+`},29:function(n,l,a,c,r,e){var o,u=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return`          <li>
+            <a href="`+n.escapeExpression(n.lambda((o=e[2][0])!=null?u(o,"id"):o,l))+`.html#summary" class="summary">Summary</a>
+          </li>
+`},31:function(n,l,a,c,r,e){var o,u=n.lambda,s=n.escapeExpression,i=n.lookupProperty||function(t,f){if(Object.prototype.hasOwnProperty.call(t,f))return t[f]};return`          <li class="docs">
+            <a href="`+s(u((o=e[2][0])!=null?i(o,"id"):o,l))+".html#"+s(u((o=e[0][0])!=null?i(o,"key"):o,l))+`" class="expand">
+              `+s(u((o=e[0][0])!=null?i(o,"name"):o,l))+`
+              <span class="icon-expand"></span>
+            </a>
+            <ul class="`+s(u((o=e[0][0])!=null?i(o,"key"):o,l))+`-list deflist">
+`+((o=i(a,"each").call(l??(n.nullContext||{}),(o=e[0][0])!=null?i(o,"nodes"):o,{name:"each",hash:{},fn:n.program(32,r,0,e),inverse:n.noop,data:r,blockParams:e,loc:{start:{line:64,column:14},end:{line:68,column:23}}}))!=null?o:"")+`            </ul>
+          </li>
+`},32:function(n,l,a,c,r,e){var o,u,s=n.escapeExpression,i=l??(n.nullContext||{}),t=n.hooks.helperMissing,f="function",p=n.lookupProperty||function(m,v){if(Object.prototype.hasOwnProperty.call(m,v))return m[v]};return`                <li>
+                  <a href="`+s(n.lambda((o=e[3][0])!=null?p(o,"id"):o,l))+".html#"+s((u=(u=p(a,"anchor")||(l!=null?p(l,"anchor"):l))!=null?u:t,typeof u===f?u.call(i,{name:"anchor",hash:{},data:r,blockParams:e,loc:{start:{line:66,column:44},end:{line:66,column:54}}}):u))+'" title="'+s((u=(u=p(a,"title")||(l!=null?p(l,"title"):l))!=null?u:t,typeof u===f?u.call(i,{name:"title",hash:{},data:r,blockParams:e,loc:{start:{line:66,column:63},end:{line:66,column:72}}}):u))+'" translate="no">'+s((u [...]
+                </li>
+`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,r,e,o){var u,s=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return(u=s(a,"each").call(l??(n.nullContext||{}),l!=null?s(l,"nodes"):l,{name:"each",hash:{},fn:n.program(1,r,2,e,o),inverse:n.noop,data:r,blockParams:e,loc:{start:{line:1,column:0},end:{line:75,column:9}}}))!=null?u:""},useData:!0,useDepths:!0,useBlockParams:!0}),d["tooltip-body"]=y({1:function(n,l,a,c,r){var e,o=n.lookupProperty||func [...]
+    `+n.escapeExpression(n.lambda((e=l!=null?o(l,"hint"):l)!=null?o(e,"description"):e,l))+`
+  </section>
+`},3:function(n,l,a,c,r){var e,o=n.lambda,u=n.escapeExpression,s=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return`  <div class="detail-header">
+    <h1 class="signature">
+      <span translate="no">`+u(o((e=l!=null?s(l,"hint"):l)!=null?s(e,"title"):e,l))+`</span>
+      <div class="version-info" translate="no">`+u(o((e=l!=null?s(l,"hint"):l)!=null?s(e,"version"):e,l))+`</div>
+    </h1>
+  </div>
+`+((e=s(a,"if").call(l??(n.nullContext||{}),(e=l!=null?s(l,"hint"):l)!=null?s(e,"description"):e,{name:"if",hash:{},fn:n.program(4,r,0),inverse:n.noop,data:r,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))!=null?e:"")},4:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return`    <section class="docstring">
+      `+((e=n.lambda((e=l!=null?o(l,"hint"):l)!=null?o(e,"description"):e,l))!=null?e:"")+`
+    </section>
+`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"isPlain"):l,{name:"if",hash:{},fn:n.program(1,r,0),inverse:n.program(3,r,0),data:r,loc:{start:{line:1,column:0},end:{line:17,column:7}}}))!=null?e:""},useData:!0}),d["tooltip-layout"]=y({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,r){return`<div id="tooltip">
+  <div class="tooltip-body"></div>
+</div>
+`},useData:!0}),d["versions-dropdown"]=y({1:function(n,l,a,c,r){var e,o,u=l??(n.nullContext||{}),s=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return'      <option translate="no" value="'+t((o=(o=f(a,"url")||(l!=null?f(l,"url"):l))!=null?o:s,typeof o===i?o.call(u,{name:"url",hash:{},data:r,loc:{start:{line:4,column:36},end:{line:4,column:43}}}):o))+'"'+((e=f(a,"if").call(u,l!=null?f(l, [...]
+        `+t((o=(o=f(a,"version")||(l!=null?f(l,"version"):l))!=null?o:s,typeof o===i?o.call(u,{name:"version",hash:{},data:r,loc:{start:{line:5,column:8},end:{line:5,column:19}}}):o))+`
+      </option>
+`},2:function(n,l,a,c,r){return" selected disabled"},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,r){var e,o=n.lookupProperty||function(u,s){if(Object.prototype.hasOwnProperty.call(u,s))return u[s]};return`<form autocomplete="off">
+  <select class="sidebar-projectVersionsDropdown">
+`+((e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"nodes"):l,{name:"each",hash:{},fn:n.program(1,r,0),inverse:n.noop,data:r,loc:{start:{line:3,column:4},end:{line:7,column:13}}}))!=null?e:"")+`  </select>
+</form>
+`},useData:!0})})();})();
diff --git a/main/dist/html-JDI3AVDD.js b/main/dist/html-JDI3AVDD.js
new file mode 100644
index 0000000..f4a3053
--- /dev/null
+++ b/main/dist/html-JDI3AVDD.js
@@ -0,0 +1,56 @@
+(()=>{var An=Object.create;var et=Object.defineProperty;var Qn=Object.getOwnPropertyDescriptor;var Nn=Object.getOwnPropertyNames;var Hn=Object.getPrototypeOf,Dn=Object.prototype.hasOwnProperty;var tt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Fn=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Nn(t))!Dn.call(e,r)&&r!==n&&et(e,r,{get:()=>t[r],enumerable:!(i=Qn(t,r))||i.enumerable});return e};var nt=(e,t,n)=>(n=e!=null?An(Hn(e)):{},Fn(t||!e||!e.__esM [...]
+`,t)},e.Pipeline.load=function(t){var n=new e.Pipeline;return t.forEach(function(i){var r=e.Pipeline.registeredFunctions[i];if(r)n.add(r);else throw new Error("Cannot load unregistered function: "+i)}),n},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(n){e.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},e.Pipeline.prototype.after=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(t);if( [...]
+/*! Bundled license information:
+
+lunr/lunr.js:
+  (**
+   * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
+   * Copyright (C) 2020 Oliver Nightingale
+   * @license MIT
+   *)
+  (*!
+   * lunr.utils
+   * Copyright (C) 2020 Oliver Nightingale
+   *)
+  (*!
+   * lunr.Set
+   * Copyright (C) 2020 Oliver Nightingale
+   *)
+  (*!
+   * lunr.tokenizer
+   * Copyright (C) 2020 Oliver Nightingale
+   *)
+  (*!
+   * lunr.Pipeline
+   * Copyright (C) 2020 Oliver Nightingale
+   *)
+  (*!
+   * lunr.Vector
+   * Copyright (C) 2020 Oliver Nightingale
+   *)
+  (*!
+   * lunr.stemmer
+   * Copyright (C) 2020 Oliver Nightingale
+   * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
+   *)
+  (*!
+   * lunr.stopWordFilter
+   * Copyright (C) 2020 Oliver Nightingale
+   *)
+  (*!
+   * lunr.trimmer
+   * Copyright (C) 2020 Oliver Nightingale
+   *)
+  (*!
+   * lunr.TokenSet
+   * Copyright (C) 2020 Oliver Nightingale
+   *)
+  (*!
+   * lunr.Index
+   * Copyright (C) 2020 Oliver Nightingale
+   *)
+  (*!
+   * lunr.Builder
+   * Copyright (C) 2020 Oliver Nightingale
+   *)
+*/
diff --git a/main/dist/html-erlang-AUG7C7KY.css b/main/dist/html-erlang-AUG7C7KY.css
new file mode 100644
index 0000000..2f0a720
--- /dev/null
+++ b/main/dist/html-erlang-AUG7C7KY.css
@@ -0,0 +1,6 @@
+:root{--main: hsl(0, 100%, 64%);--main-darkened-10: hsl(0, 100%, 54%);--main-darkened-20: hsl(0, 100%, 44%);--main-lightened-05: hsl(0, 100%, 69%);--main-lightened-10: hsl(0, 100%, 74%)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-ext-300-normal-VPGGJKJL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720- [...]
+/*! Bundled license information:
+
+normalize.css/normalize.css:
+  (*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css *)
+*/
diff --git a/main/dist/inconsolata-latin-400-normal-RGKDDNDD.woff2 b/main/dist/inconsolata-latin-400-normal-RGKDDNDD.woff2
new file mode 100644
index 0000000..6119e59
Binary files /dev/null and b/main/dist/inconsolata-latin-400-normal-RGKDDNDD.woff2 differ
diff --git a/main/dist/inconsolata-latin-700-normal-DTS2D7TO.woff2 b/main/dist/inconsolata-latin-700-normal-DTS2D7TO.woff2
new file mode 100644
index 0000000..010da61
Binary files /dev/null and b/main/dist/inconsolata-latin-700-normal-DTS2D7TO.woff2 differ
diff --git a/main/dist/inconsolata-latin-ext-400-normal-K7HVGTP7.woff2 b/main/dist/inconsolata-latin-ext-400-normal-K7HVGTP7.woff2
new file mode 100644
index 0000000..50cb547
Binary files /dev/null and b/main/dist/inconsolata-latin-ext-400-normal-K7HVGTP7.woff2 differ
diff --git a/main/dist/inconsolata-latin-ext-700-normal-4MPBLFZC.woff2 b/main/dist/inconsolata-latin-ext-700-normal-4MPBLFZC.woff2
new file mode 100644
index 0000000..8a20d54
Binary files /dev/null and b/main/dist/inconsolata-latin-ext-700-normal-4MPBLFZC.woff2 differ
diff --git a/main/dist/inconsolata-vietnamese-400-normal-IGQPHHJH.woff2 b/main/dist/inconsolata-vietnamese-400-normal-IGQPHHJH.woff2
new file mode 100644
index 0000000..ab70f18
Binary files /dev/null and b/main/dist/inconsolata-vietnamese-400-normal-IGQPHHJH.woff2 differ
diff --git a/main/dist/inconsolata-vietnamese-700-normal-LHEGSN35.woff2 b/main/dist/inconsolata-vietnamese-700-normal-LHEGSN35.woff2
new file mode 100644
index 0000000..a814008
Binary files /dev/null and b/main/dist/inconsolata-vietnamese-700-normal-LHEGSN35.woff2 differ
diff --git a/main/dist/lato-latin-300-normal-YUMVEFOL.woff2 b/main/dist/lato-latin-300-normal-YUMVEFOL.woff2
new file mode 100644
index 0000000..aad98a3
Binary files /dev/null and b/main/dist/lato-latin-300-normal-YUMVEFOL.woff2 differ
diff --git a/main/dist/lato-latin-400-normal-W7754I4D.woff2 b/main/dist/lato-latin-400-normal-W7754I4D.woff2
new file mode 100644
index 0000000..ff60934
Binary files /dev/null and b/main/dist/lato-latin-400-normal-W7754I4D.woff2 differ
diff --git a/main/dist/lato-latin-700-normal-2XVSBPG4.woff2 b/main/dist/lato-latin-700-normal-2XVSBPG4.woff2
new file mode 100644
index 0000000..11de83f
Binary files /dev/null and b/main/dist/lato-latin-700-normal-2XVSBPG4.woff2 differ
diff --git a/main/dist/lato-latin-ext-300-normal-VPGGJKJL.woff2 b/main/dist/lato-latin-ext-300-normal-VPGGJKJL.woff2
new file mode 100644
index 0000000..486d3ec
Binary files /dev/null and b/main/dist/lato-latin-ext-300-normal-VPGGJKJL.woff2 differ
diff --git a/main/dist/lato-latin-ext-400-normal-N27NCBWW.woff2 b/main/dist/lato-latin-ext-400-normal-N27NCBWW.woff2
new file mode 100644
index 0000000..edb9fa6
Binary files /dev/null and b/main/dist/lato-latin-ext-400-normal-N27NCBWW.woff2 differ
diff --git a/main/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2 b/main/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
new file mode 100644
index 0000000..2c8aaa8
Binary files /dev/null and b/main/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2 differ
diff --git a/main/dist/merriweather-cyrillic-300-italic-M6KMXZSZ.woff2 b/main/dist/merriweather-cyrillic-300-italic-M6KMXZSZ.woff2
new file mode 100644
index 0000000..71e8f7e
Binary files /dev/null and b/main/dist/merriweather-cyrillic-300-italic-M6KMXZSZ.woff2 differ
diff --git a/main/dist/merriweather-cyrillic-300-normal-7PAAHU3N.woff2 b/main/dist/merriweather-cyrillic-300-normal-7PAAHU3N.woff2
new file mode 100644
index 0000000..11d8cdd
Binary files /dev/null and b/main/dist/merriweather-cyrillic-300-normal-7PAAHU3N.woff2 differ
diff --git a/main/dist/merriweather-cyrillic-ext-300-italic-JP3ZEV2P.woff2 b/main/dist/merriweather-cyrillic-ext-300-italic-JP3ZEV2P.woff2
new file mode 100644
index 0000000..0bc4aac
Binary files /dev/null and b/main/dist/merriweather-cyrillic-ext-300-italic-JP3ZEV2P.woff2 differ
diff --git a/main/dist/merriweather-cyrillic-ext-300-normal-5LF5LCEK.woff2 b/main/dist/merriweather-cyrillic-ext-300-normal-5LF5LCEK.woff2
new file mode 100644
index 0000000..8874d2c
Binary files /dev/null and b/main/dist/merriweather-cyrillic-ext-300-normal-5LF5LCEK.woff2 differ
diff --git a/main/dist/merriweather-latin-300-italic-353COS6Q.woff2 b/main/dist/merriweather-latin-300-italic-353COS6Q.woff2
new file mode 100644
index 0000000..0c7b8ed
Binary files /dev/null and b/main/dist/merriweather-latin-300-italic-353COS6Q.woff2 differ
diff --git a/main/dist/merriweather-latin-300-normal-RWDJH4FN.woff2 b/main/dist/merriweather-latin-300-normal-RWDJH4FN.woff2
new file mode 100644
index 0000000..a119883
Binary files /dev/null and b/main/dist/merriweather-latin-300-normal-RWDJH4FN.woff2 differ
diff --git a/main/dist/merriweather-latin-ext-300-italic-MWCA36KE.woff2 b/main/dist/merriweather-latin-ext-300-italic-MWCA36KE.woff2
new file mode 100644
index 0000000..8a6b26f
Binary files /dev/null and b/main/dist/merriweather-latin-ext-300-italic-MWCA36KE.woff2 differ
diff --git a/main/dist/merriweather-latin-ext-300-normal-K6L27CZ5.woff2 b/main/dist/merriweather-latin-ext-300-normal-K6L27CZ5.woff2
new file mode 100644
index 0000000..ff2d483
Binary files /dev/null and b/main/dist/merriweather-latin-ext-300-normal-K6L27CZ5.woff2 differ
diff --git a/main/dist/merriweather-vietnamese-300-italic-EHHNZPUO.woff2 b/main/dist/merriweather-vietnamese-300-italic-EHHNZPUO.woff2
new file mode 100644
index 0000000..ff20a5b
Binary files /dev/null and b/main/dist/merriweather-vietnamese-300-italic-EHHNZPUO.woff2 differ
diff --git a/main/dist/merriweather-vietnamese-300-normal-U376L4Z4.woff2 b/main/dist/merriweather-vietnamese-300-normal-U376L4Z4.woff2
new file mode 100644
index 0000000..b250a2d
Binary files /dev/null and b/main/dist/merriweather-vietnamese-300-normal-U376L4Z4.woff2 differ
diff --git a/main/dist/remixicon-NKANDIL5.woff2 b/main/dist/remixicon-NKANDIL5.woff2
new file mode 100644
index 0000000..57e6c7c
Binary files /dev/null and b/main/dist/remixicon-NKANDIL5.woff2 differ
diff --git a/main/dist/search_items-4E0C5A40.js b/main/dist/search_items-4E0C5A40.js
new file mode 100644
index 0000000..cc329dc
--- /dev/null
+++ b/main/dist/search_items-4E0C5A40.js
@@ -0,0 +1 @@
+searchNodes=[{"doc":"","ref":"arrow.html","title":"arrow","type":"module"},{"doc":"Provides a record, a behaviour, and functions to work with Apache Arrow Arrays. This module as mentioned, provides conveniences for working with Apache Arrow Arrays[1] of different Layouts[2]. Firstly, it provides a record to represent all the Layout. Secondly, it provides a behaviour for different layouts to adhere to common functionality. Lastly, it provides functions to work with Arrays in a common mann [...]
\ No newline at end of file
diff --git a/main/dist/sidebar_items-493952EA.js b/main/dist/sidebar_items-493952EA.js
new file mode 100644
index 0000000..9da445e
--- /dev/null
+++ b/main/dist/sidebar_items-493952EA.js
@@ -0,0 +1 @@
+sidebarNodes={"extras":[{"group":"","headers":[{"anchor":"modules","id":"Modules"}],"id":"api-reference","title":"API Reference"},{"group":"","headers":[{"anchor":"build","id":"Build"},{"anchor":"format-support","id":"Format Support"},{"anchor":"ipc-format-support","id":"IPC Format Support"}],"id":"readme","title":"Overview"},{"group":"","headers":[],"id":"license","title":"License"},{"group":"","headers":[{"anchor":"introduction","id":"Introduction"},{"anchor":"creating-a-schema","id":" [...]
\ No newline at end of file
diff --git a/main/index.html b/main/index.html
new file mode 100644
index 0000000..8119e82
--- /dev/null
+++ b/main/index.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <title>arrow v0.1.0 — Documentation</title>
+    <meta http-equiv="refresh" content="0; url=readme.html">
+    <meta name="generator" content="ExDoc v0.29.4">
+  </head>
+  <body></body>
+</html>
diff --git a/main/license.html b/main/license.html
new file mode 100644
index 0000000..7c50c41
--- /dev/null
+++ b/main/license.html
@@ -0,0 +1,377 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>License — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="extras" class="page-extra">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/LICENSE#L1" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+
+  <span>License</span>
+</h1>
+
+<pre>
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      &quot;License&quot; shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      &quot;Licensor&quot; shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      &quot;Legal Entity&quot; shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      &quot;control&quot; means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      &quot;You&quot; (or &quot;Your&quot;) shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      &quot;Source&quot; form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      &quot;Object&quot; form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      &quot;Work&quot; shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      &quot;Derivative Works&quot; shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      &quot;Contribution&quot; shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, &quot;submitted&quot;
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as &quot;Not a Contribution.&quot;
+
+      &quot;Contributor&quot; shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a &quot;NOTICE&quot; text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an &quot;AS IS&quot; BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets &quot;[]&quot;
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same &quot;printed page&quot; as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</pre>
+<div class="bottom-actions">
+  <div class="bottom-actions-item">
+
+      <a href="readme.html" class="bottom-actions-button" rel="prev">
+        <span class="subheader">
+          ← Previous Page
+        </span>
+        <span class="title">
+Overview
+        </span>
+      </a>
+
+  </div>
+  <div class="bottom-actions-item">
+
+      <a href="quick-run-through.html" class="bottom-actions-button" rel="next">
+        <span class="subheader">
+          Next Page →
+        </span>
+        <span class="title">
+Quick Run-Through Guide
+        </span>
+      </a>
+
+  </div>
+</div>
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/LICENSE">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/quick-run-through.html b/main/quick-run-through.html
new file mode 100644
index 0000000..68f0133
--- /dev/null
+++ b/main/quick-run-through.html
@@ -0,0 +1,272 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>Quick Run-Through Guide — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="extras" class="page-livemd">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/guides/quick-run-through.livemd#L1" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+
+  <span>Quick run-through</span>
+</h1>
+
+  <div class="livebook-badge-container">
+    <a href="#" class="livebook-badge">
+      <img src="https://livebook.dev/badge/v1/blue.svg" alt="Run in Livebook" width="150" />
+    </a>
+  </div>
+
+<pre><code class="makeup elixir" translate="no"><span class="nc">Mix</span><span class="o">.</span><span class="n">install</span><span class="p" data-group-id="9231132305-1">(</span><span class="p" data-group-id="9231132305-2">[</span><span class="w">
+  </span><span class="p" data-group-id="9231132305-3">{</span><span class="ss">:arrow</span><span class="p">,</span><span class="w"> </span><span class="ss">git</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;https://github.com/Benjamin-Philip/arrow.git&quot;</span><span class="p" data-group-id="9231132305-3">}</span><span class="w">
+</span><span class="p" data-group-id="9231132305-2">]</span><span class="p" data-group-id="9231132305-1">)</span></code></pre><h2 id="introduction" class="section-heading">
+  <a href="#introduction" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">introduction</p>
+  </a>
+  Introduction
+</h2>
+<p>Serializing Erlang into Arrow typically follows the following sequence of
+events:</p><ol><li>Creating a <a href="https://arrow.apache.org/docs/format/Columnar.html#schema-message">Schema
+Message</a>
+with the schema of the data</li><li>Creating Arrow Arrays for each column in the schema.</li><li>Combining the columns of each batch or table into a <a href="https://arrow.apache.org/docs/format/Columnar.html#recordbatch-message">RecordBatch
+Message</a></li><li>Combining the Schema and all the RecordBatches into an <a href="https://arrow.apache.org/docs/format/Columnar.html#ipc-streaming-format">IPC
+Stream</a>
+or an <a href="https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format">IPC
+File</a></li></ol><p>Technically, to use the Arrow Columnar Format <em>itself</em> you only need to do
+step 2. The other steps are in order to use <a href="https://arrow.apache.org/docs/format/Columnar.html#serialization-and-interprocess-communication-ipc">Arrow
+IPC</a>
+which is an abstraction over the Arrow Columnar Format. IPC specifies a format
+to organize multiple Arrow Arrays, and is the standard choice when you do not
+have your own custom format detailing so.</p><p>For the purposes of illustration, let use assume that we have to export the
+annual marks of a school to Arrow.</p><h2 id="creating-a-schema" class="section-heading">
+  <a href="#creating-a-schema" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">creating-a-schema</p>
+  </a>
+  Creating a Schema
+</h2>
+<p>The marksheet of each class has 4 columns:</p><ol><li>id, which is the Roll no.</li><li>name, which is the first name of the student</li><li>age, which is the age of the student</li><li>marks, which is a list of all the marks of the student</li></ol><p>Ideally the marks should've been split into columns for each subject, but we are
+using a list to show how to manage nested types. We can pretend that the school
+administration is stupid or something.</p><p>First, we must declare a field for each column:</p><pre><code class="makeup erlang" translate="no"><span class="n">IdField</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_field</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="1260571820-1">(</span><span class="p" data-group-id="1260571820-2">{</span><span class="ss">int</span><span class="p" [...]
+</span><span class="n">NameField</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_field</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="1260571820-4">(</span><span class="ss">large_binary</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;name&quot;</span><span class="p" data-group-id="1260571820-4">)</span><span class="p">,</span><span class="w">
+</span><span class="n">AgeField</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_field</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="1260571820-5">(</span><span class="p" data-group-id="1260571820-6">{</span><span class="ss">int</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1260571820-7">#{</span><span class="ss">bit_width</span><span class="w"> [...]
+</span><span class="n">AnnualMarksField</span><span class="w"> </span><span class="o">=</span><span class="w"> 
+    </span><span class="nc">arrow_ipc_field</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="1260571820-8">(</span><span class="w">
+        </span><span class="p" data-group-id="1260571820-9">{</span><span class="ss">fixed_size_list</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1260571820-10">#{</span><span class="ss">list_size</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="mi">3</span><span class="p" data-group-id="1260571820-10">}</span><span class="p" data-group-id="1260571820-9">}</span><span class="p">,</span><span class="w">  [...]
+            </span><span class="nc">arrow_ipc_field</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="1260571820-12">(</span><span class="w">
+                </span><span class="p" data-group-id="1260571820-13">{</span><span class="ss">int</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="1260571820-14">#{</span><span class="ss">bit_width</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="mi">8</span><span class="p">,</span><span class="w"> </span><span class="ss">is_signed</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> < [...]
+            </span><span class="p" data-group-id="1260571820-12">)</span><span class="w">
+        </span><span class="p" data-group-id="1260571820-11">]</span><span class="w">
+    </span><span class="p" data-group-id="1260571820-8">)</span><span class="p">.</span></code></pre><p>As you may have noticed, the parameters for declaring a field is the field type,
+followed by the field name. Each type may have extra metadata associated with
+it, such as the int. In the case of a nested datatype, we must also include a
+list of the fields that are nested.</p><p>We then must take those fields and combine them into a schema:</p><pre><code class="makeup erlang" translate="no"><span class="n">Schema</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_schema</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="6870209382-1">(</span><span class="p" data-group-id="6870209382-2">[</span><span class="n">IdField</span> [...]
+  <a href="#creating-arrow-arrays" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">creating-arrow-arrays</p>
+  </a>
+  Creating Arrow Arrays
+</h2>
+<p>Now that we've got a schema, it is time to create the data for that schema.
+Let's assume that there are 3 classes, Class1, Class2, and Class3. We must
+create the data for each class separately:</p><p>Here's Class1:</p><pre><code class="makeup erlang" translate="no"><span class="n">Class1Id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="5931888407-1">(</span><span class="ss">fixed_primitive</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="593188840 [...]
+</span><span class="n">Class1Name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="5931888407-4">(</span><span class="w">
+        </span><span class="ss">variable_binary</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5931888407-5">[</span><span class="p">&lt;&lt;</span><span class="s">&quot;alice&quot;</span><span class="p">&gt;&gt;</span><span class="p">,</span><span class="w"> </span><span class="p">&lt;&lt;</span><span class="s">&quot;bob&quot;</span><span class="p">&gt;&gt;</span><span class="p">,</span><span class="w"> </span><span class="p">&lt;&lt;</span><span cl [...]
+    </span><span class="p" data-group-id="5931888407-4">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class1Age</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="5931888407-7">(</span><span class="ss">fixed_primitive</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5931888407-8">[</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">20< [...]
+</span><span class="n">Class1AnnualMarks</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="5931888407-10">(</span><span class="w">
+        </span><span class="ss">fixed_list</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5931888407-11">[</span><span class="p" data-group-id="5931888407-12">[</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">97</span><span class="p">,</span><span class="w"> </span><span class="mi">98</span><span class="p" data-group-id="5931888407-12">]</span><span class="p">,</span><span class="w"> </span><span clas [...]
+    </span><span class="p" data-group-id="5931888407-10">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class1Columns</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p" data-group-id="5931888407-16">[</span><span class="n">Class1Id</span><span class="p">,</span><span class="w"> </span><span class="n">Class1Name</span><span class="p">,</span><span class="w"> </span><span class="n">Class1Age</span><span class="p">,</span><span class="w"> </span><span class="n">Class1AnnualMarks</span><span class="p" data-group-id="5931888407-1 [...]
+</span><span class="n">Class2Name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="9504744273-4">(</span><span class="w">
+        </span><span class="ss">variable_binary</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9504744273-5">[</span><span class="p">&lt;&lt;</span><span class="s">&quot;anne&quot;</span><span class="o">/</span><span class="ss">utf8</span><span class="o">-</span><span class="ss">little</span><span class="p">&gt;&gt;</span><span class="p">,</span><span class="w"> </span><span class="p">&lt;&lt;</span><span class="s">&quot;benoît&quot;</span><span clas [...]
+    </span><span class="p" data-group-id="9504744273-4">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class2Age</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="9504744273-7">(</span><span class="ss">fixed_primitive</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9504744273-8">[</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">20< [...]
+</span><span class="n">Class2AnnualMarks</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="9504744273-10">(</span><span class="w">
+        </span><span class="ss">fixed_list</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9504744273-11">[</span><span class="p" data-group-id="9504744273-12">[</span><span class="mi">90</span><span class="p">,</span><span class="w"> </span><span class="mi">87</span><span class="p">,</span><span class="w"> </span><span class="mi">75</span><span class="p" data-group-id="9504744273-12">]</span><span class="p">,</span><span class="w"> </span><span class [...]
+    </span><span class="p" data-group-id="9504744273-10">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class2Columns</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p" data-group-id="9504744273-16">[</span><span class="n">Class2Id</span><span class="p">,</span><span class="w"> </span><span class="n">Class2Name</span><span class="p">,</span><span class="w"> </span><span class="n">Class2Age</span><span class="p">,</span><span class="w"> </span><span class="n">Class2AnnualMarks</span><span class="p" data-group-id="9504744273-1 [...]
+</span><span class="n">Class3Name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="9534541034-4">(</span><span class="w">
+        </span><span class="ss">variable_binary</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9534541034-5">[</span><span class="p">&lt;&lt;</span><span class="s">&quot;anjali&quot;</span><span class="p">&gt;&gt;</span><span class="p">,</span><span class="w"> </span><span class="p">&lt;&lt;</span><span class="s">&quot;biju&quot;</span><span class="p">&gt;&gt;</span><span class="p">,</span><span class="w"> </span><span class="p">&lt;&lt;</span><span  [...]
+    </span><span class="p" data-group-id="9534541034-4">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class3Age</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="9534541034-7">(</span><span class="ss">fixed_primitive</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9534541034-8">[</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">20< [...]
+</span><span class="n">Class3AnnualMarks</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="9534541034-10">(</span><span class="w">
+        </span><span class="ss">fixed_list</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9534541034-11">[</span><span class="p" data-group-id="9534541034-12">[</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">98</span><span class="p" data-group-id="9534541034-12">]</span><span class="p">,</span><span class="w"> </span><span cla [...]
+    </span><span class="p" data-group-id="9534541034-10">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class3Columns</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p" data-group-id="9534541034-16">[</span><span class="n">Class3Id</span><span class="p">,</span><span class="w"> </span><span class="n">Class3Name</span><span class="p">,</span><span class="w"> </span><span class="n">Class3Age</span><span class="p">,</span><span class="w"> </span><span class="n">Class3AnnualMarks</span><span class="p" data-group-id="9534541034-1 [...]
+  <a href="#combining-data-into-a-recordbatch" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">combining-data-into-a-recordbatch</p>
+  </a>
+  Combining Data into a RecordBatch
+</h2>
+<p>RecordBatches are used to model different data with the same schema. In this
+case marks from different classes. Another example would marks of the same class
+throughout different years. The columns that make up such a table can be
+combined like so:</p><pre><code class="makeup erlang" translate="no"><span class="n">Class1RecordBatch</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_record_batch</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="5969130235-1">(</span><span class="n">Class1Columns</span><span class="p" data-group-id="5969130235-1">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class2RecordBatch</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_record_batch</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="5969130235-2">(</span><span class="n">Class2Columns</span><span class="p" data-group-id="5969130235-2">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class3RecordBatch</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_record_batch</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="5969130235-3">(</span><span class="n">Class3Columns</span><span class="p" data-group-id="5969130235-3">)</span><span class="p">.</span></code></pre><p>Each of these RecordBatches need a body:</p><pre><code class="makeup erlang" translate [...]
+</span><span class="n">Class2Msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">body_from_erlang</span><span class="p" data-group-id="3215254273-2">(</span><span class="n">Class2Columns</span><span class="p" data-group-id="3215254273-2">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class3Msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">body_from_erlang</span><span class="p" data-group-id="3215254273-3">(</span><span class="n">Class3Columns</span><span class="p" data-group-id="3215254273-3">)</span><span class="p">.</span></code></pre><p>Which can then be combined into a message:</p><pre><code class="makeup erlang" translate="no"> [...]
+</span><span class="n">Class2Msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="6665253467-2">(</span><span class="n">Class2RecordBatch</span><span class="p">,</span><span class="w"> </span><span class="n">Class3Body</span><span class="p" data-group-id="6665253467-2">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class3Msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="6665253467-3">(</span><span class="n">Class3RecordBatch</span><span class="p">,</span><span class="w"> </span><span class="n">Class3Body</span><span class="p" data-group-id="6665253467-3">)</span><span class="p">.</span></code></pre><p>If we wanted t [...]
+</span><span class="n">Class2EMF</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">to_ipc</span><span class="p" data-group-id="5470238526-2">(</span><span class="n">Class2Msg</span><span class="p" data-group-id="5470238526-2">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class3EMF</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">to_ipc</span><span class="p" data-group-id="5470238526-3">(</span><span class="n">Class3Msg</span><span class="p" data-group-id="5470238526-3">)</span><span class="p">.</span></code></pre><p>Typically, you wouldn't directly use an encapsulated message but a stream or a file instead.</p><h2 id="comb [...]
+  <a href="#combining-messages-into-streams-and-files" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">combining-messages-into-streams-and-files</p>
+  </a>
+  Combining Messages into Streams and Files
+</h2>
+<p>Now that we have a schema and some record batches, we can combine them into a
+stream and a file. The difference between a stream and a file is thin: a file is
+a superset of the stream which supports random access and is meant to be saved
+to a file.</p><p>We can create a stream like this:</p><pre><code class="makeup erlang" translate="no"><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">to_stream</span><span class="p" data-group-id="1094181865-1">(</span><span class="p" data-group-id="1094181865-2">[</span><span class="n">SchemaMsg</span><span class="p">,</span><span class="w"> </span><span class="n">Class1Msg</span><span class="p">,</span><span class="w"> </span><span class="n">Class2Msg< [...]
+</span><span class="n">File</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_file</span><span class="p">:</span><span class="nf">to_ipc</span><span class="p" data-group-id="7373498721-3">(</span><span class="n">ErlFile</span><span class="p" data-group-id="7373498721-3">)</span><span class="p">.</span></code></pre><p>We could then save that binary into a file:</p><pre><code class="makeup erlang" translate="no"><span class="nc">file</ [...]
+<div class="bottom-actions">
+  <div class="bottom-actions-item">
+
+      <a href="license.html" class="bottom-actions-button" rel="prev">
+        <span class="subheader">
+          ← Previous Page
+        </span>
+        <span class="title">
+License
+        </span>
+      </a>
+
+  </div>
+  <div class="bottom-actions-item">
+
+  </div>
+</div>
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/guides/quick-run-through.livemd">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/quick-run-through.livemd b/main/quick-run-through.livemd
new file mode 100644
index 0000000..a3d6220
--- /dev/null
+++ b/main/quick-run-through.livemd
@@ -0,0 +1,214 @@
+<!-- -*- mode: markdown; fill-column: 80; -*- -->
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Quick run-through
+
+```elixir
+Mix.install([
+  {:arrow, git: "https://github.com/Benjamin-Philip/arrow.git"}
+])
+```
+
+## Introduction
+
+Serializing Erlang into Arrow typically follows the following sequence of
+events:
+
+1. Creating a [Schema
+   Message](https://arrow.apache.org/docs/format/Columnar.html#schema-message)
+   with the schema of the data
+2. Creating Arrow Arrays for each column in the schema.
+3. Combining the columns of each batch or table into a [RecordBatch
+   Message](https://arrow.apache.org/docs/format/Columnar.html#recordbatch-message)
+4. Combining the Schema and all the RecordBatches into an [IPC
+   Stream](https://arrow.apache.org/docs/format/Columnar.html#ipc-streaming-format)
+   or an [IPC
+   File](https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format)
+
+Technically, to use the Arrow Columnar Format *itself* you only need to do
+step 2. The other steps are in order to use [Arrow
+IPC](https://arrow.apache.org/docs/format/Columnar.html#serialization-and-interprocess-communication-ipc)
+which is an abstraction over the Arrow Columnar Format. IPC specifies a format
+to organize multiple Arrow Arrays, and is the standard choice when you do not
+have your own custom format detailing so.
+
+For the purposes of illustration, let use assume that we have to export the
+annual marks of a school to Arrow.
+
+## Creating a Schema
+
+The marksheet of each class has 4 columns:
+
+1. id, which is the Roll no.
+2. name, which is the first name of the student
+3. age, which is the age of the student
+4. marks, which is a list of all the marks of the student
+
+Ideally the marks should've been split into columns for each subject, but we are
+using a list to show how to manage nested types. We can pretend that the school
+administration is stupid or something.
+
+First, we must declare a field for each column:
+
+```erlang
+IdField = arrow_ipc_field:from_erlang({int, #{bit_width => 8, is_signed => true}}, "id"),
+NameField = arrow_ipc_field:from_erlang(large_binary, "name"),
+AgeField = arrow_ipc_field:from_erlang({int, #{bit_width => 8, is_signed => false}}, "age"),
+AnnualMarksField = 
+    arrow_ipc_field:from_erlang(
+        {fixed_size_list, #{list_size => 3}}, "annual_marks", [
+            arrow_ipc_field:from_erlang(
+                {int, #{bit_width => 8, is_signed => false}}
+            )
+        ]
+    ).
+```
+
+As you may have noticed, the parameters for declaring a field is the field type,
+followed by the field name. Each type may have extra metadata associated with
+it, such as the int. In the case of a nested datatype, we must also include a
+list of the fields that are nested.
+
+We then must take those fields and combine them into a schema:
+
+```erlang
+Schema = arrow_ipc_schema:from_erlang([IdField, NameField, AgeField, AnnualMarksField]).
+```
+
+And that schema into a message:
+
+```erlang
+SchemaMsg = arrow_ipc_message:from_erlang(Schema).
+```
+
+## Creating Arrow Arrays
+
+Now that we've got a schema, it is time to create the data for that schema.
+Let's assume that there are 3 classes, Class1, Class2, and Class3. We must
+create the data for each class separately:
+
+Here's Class1:
+
+```erlang
+Class1Id = arrow_array:from_erlang(fixed_primitive, [0, 1, 2, undefined], {s, 8}),
+Class1Name = arrow_array:from_erlang(
+        variable_binary, [<<"alice">>, <<"bob">>, <<"charlie">>, undefined], {bin, undefined}
+    ),
+Class1Age = arrow_array:from_erlang(fixed_primitive, [10, 20, 30, undefined], {s, 8}),
+Class1AnnualMarks = arrow_array:from_erlang(
+        fixed_list, [[100, 97, 98], [100, 99, 96], [100, 98, 95], undefined], {s, 8}
+    ),
+Class1Columns = [Class1Id, Class1Name, Class1Age, Class1AnnualMarks].
+```
+
+Class2:
+
+```erlang
+Class2Id = arrow_array:from_erlang(fixed_primitive, [3, 4, 5], {s, 8}),
+Class2Name = arrow_array:from_erlang(
+        variable_binary, [<<"anne"/utf8-little>>, <<"benoît"/utf8-little>>, <<"clément"/utf8-little>>], {bin, undefined}
+    ),
+Class2Age = arrow_array:from_erlang(fixed_primitive, [10, 20, 30], {s, 8}),
+Class2AnnualMarks = arrow_array:from_erlang(
+        fixed_list, [[90, 87, 75], [85, 99, 96], [75, 88, 60]], {s, 8}
+    ),
+Class2Columns = [Class2Id, Class2Name, Class2Age, Class2AnnualMarks].
+```
+
+Class3:
+
+```erlang
+Class3Id = arrow_array:from_erlang(fixed_primitive, [6, 7, 8], {s, 8}),
+Class3Name = arrow_array:from_erlang(
+        variable_binary, [<<"anjali">>, <<"biju">>, <<"chandra">>], {bin, undefined}
+    ),
+Class3Age = arrow_array:from_erlang(fixed_primitive, [10, 20, 30], {s, 8}),
+Class3AnnualMarks = arrow_array:from_erlang(
+        fixed_list, [[100, 100, 98], [100, 100, 100], [99, 98, 97]], {s, 8}
+    ),
+Class3Columns = [Class3Id, Class3Name, Class3Age, Class3AnnualMarks].
+```
+
+## Combining Data into a RecordBatch
+
+RecordBatches are used to model different data with the same schema. In this
+case marks from different classes. Another example would marks of the same class
+throughout different years. The columns that make up such a table can be
+combined like so:
+
+```erlang
+Class1RecordBatch = arrow_ipc_record_batch:from_erlang(Class1Columns),
+Class2RecordBatch = arrow_ipc_record_batch:from_erlang(Class2Columns),
+Class3RecordBatch = arrow_ipc_record_batch:from_erlang(Class3Columns).
+```
+
+Each of these RecordBatches need a body:
+
+```erlang
+Class1Msg = arrow_ipc_message:body_from_erlang(Class1Columns),
+Class2Msg = arrow_ipc_message:body_from_erlang(Class2Columns),
+Class3Msg = arrow_ipc_message:body_from_erlang(Class3Columns).
+```
+
+Which can then be combined into a message:
+
+```erlang
+Class1Msg = arrow_ipc_message:from_erlang(Class1RecordBatch, Class1Body),
+Class2Msg = arrow_ipc_message:from_erlang(Class2RecordBatch, Class3Body),
+Class3Msg = arrow_ipc_message:from_erlang(Class3RecordBatch, Class3Body).
+```
+
+If we wanted to, we could serialize these messages into an [Encapsulated message](https://arrow.apache.org/docs/format/Columnar.html#encapsulated-message-format):
+
+```erlang
+Class1EMF = arrow_ipc_message:to_ipc(Class1Msg),
+Class2EMF = arrow_ipc_message:to_ipc(Class2Msg),
+Class3EMF = arrow_ipc_message:to_ipc(Class3Msg).
+```
+
+Typically, you wouldn't directly use an encapsulated message but a stream or a file instead.
+
+## Combining Messages into Streams and Files
+
+Now that we have a schema and some record batches, we can combine them into a
+stream and a file. The difference between a stream and a file is thin: a file is
+a superset of the stream which supports random access and is meant to be saved
+to a file.
+
+<!-- livebook:{"break_markdown":true} -->
+
+We can create a stream like this:
+
+```erlang
+arrow_ipc_message:to_stream([SchemaMsg, Class1Msg, Class2Msg, Class3Msg]).
+```
+
+Or a file like this:
+
+```erlang
+ErlFile = arrow_ipc_file:from_erlang(SchemaMsg, [Class1Msg, Class2Msg, Class3Msg]),
+File = arrow_ipc_file:to_ipc(ErlFile).
+```
+
+We could then save that binary into a file:
+
+```erlang
+file:write_file("/tmp/annual_marks.feather", File).
+```
diff --git a/main/readme.html b/main/readme.html
new file mode 100644
index 0000000..b439ecb
--- /dev/null
+++ b/main/readme.html
@@ -0,0 +1,206 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>Overview — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="extras" class="page-extra">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+
+    <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/README.md#L1" title="View Source" class="icon-action" rel="help">
+      <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+      <span class="sr-only">View Source</span>
+    </a>
+
+
+  <span>arrow-erlang</span>
+</h1>
+
+<p>Erlang implementation of the <a href="https://arrow.apache.org/">Apache Arrow</a> in-memory
+columnar format.</p><p>As of right now, <code class="inline">arrow-erlang</code> only provides serialization (write) of Erlang
+data structures into to Arrow. Support for deserialization (read) will be added
+soon.</p><p>We provide support for the <a href="https://arrow.apache.org/docs/format/Columnar.html#physical-memory-layout">Apache Arrow Columnar
+Format</a>
+and the <a href="https://arrow.apache.org/docs/format/Columnar.html#serialization-and-interprocess-communication-ipc">Apache Arrow IPC
+Format</a>.
+Support for <a href="https://arrow.apache.org/docs/format/Flight.html">Flight RPC</a>,
+<a href="https://arrow.apache.org/docs/format/FlightSql.html">Flight SQL</a>, as well
+conversion of Arrow into other formats like <a href="https://parquet.apache.org/">Apache
+Parquet</a>, <a href="https://avro.apache.org/">Apache Avro</a>,
+CSV and JSON is out of the scope of the project.</p><h2 id="build" class="section-heading">
+  <a href="#build" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">build</p>
+  </a>
+  Build
+</h2>
+<p>In addition to an Erlang installation, you will need a Rust installation with
+<code class="inline">cargo</code>. You can then add the following to your rebar.config:</p><pre><code class="makeup erlang" translate="no"><span class="p" data-group-id="2955130344-1">{</span><span class="ss">arrow</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="2955130344-2">{</span><span class="ss">git</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;https://github.com/apache/arrow-erlang.git&quot;</span><span class="p" da [...]
+</span></code></pre><h2 id="format-support" class="section-heading">
+  <a href="#format-support" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">format-support</p>
+  </a>
+  Format Support
+</h2>
+<p>This implementation is still a work in progress. As mentioned earlier, we do not
+have read functionality as of right now, only write.</p><p>We support the following primitive data types:</p><ul><li>Int 8/16/32/64</li><li>UInt 8/16/32/64</li><li>Float 32/64</li><li>Fixed Size Binary</li><li>Binary</li><li>Large Binary</li></ul><p>and the following nested data types:</p><ul><li>Fixed Size List</li><li>List</li><li>Large List</li></ul><p>support for the other data types (both primitive and nested) will be added soon.</p><h2 id="ipc-format-support" class="section-heading">
+  <a href="#ipc-format-support" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
+  <p class="sr-only">ipc-format-support</p>
+  </a>
+  IPC Format Support
+</h2>
+<p>Currently we support all the 3 &quot;formats&quot;:</p><ul><li>Encapsulated Message Format</li><li>Stream Format</li><li>File Format</li></ul><p>and the following message types:</p><ul><li>Schema</li><li>RecordBatch</li></ul><p>Support for the following will be added shortly:</p><ul><li>Buffer compression</li><li>Endianness conversion</li><li>Custom schema metadata</li></ul><p>Support for the following will be added post v0.1.0:</p><ul><li>Dictionaries</li><li>Replacement dictionaries [...]
+<div class="bottom-actions">
+  <div class="bottom-actions-item">
+
+      <a href="api-reference.html" class="bottom-actions-button" rel="prev">
+        <span class="subheader">
+          ← Previous Page
+        </span>
+        <span class="title">
+API Reference
+        </span>
+      </a>
+
+  </div>
+  <div class="bottom-actions-item">
+
+      <a href="license.html" class="bottom-actions-button" rel="next">
+        <span class="subheader">
+          Next Page →
+        </span>
+        <span class="title">
+License
+        </span>
+      </a>
+
+  </div>
+</div>
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+                (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/README.md">current file</a>)
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>
diff --git a/main/search.html b/main/search.html
new file mode 100644
index 0000000..a3b5070
--- /dev/null
+++ b/main/search.html
@@ -0,0 +1,142 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="ExDoc v0.29.4">
+    <meta name="project" content="arrow v0.1.0">
+
+    <title>Search — arrow v0.1.0</title>
+    <link rel="stylesheet" href="dist/html-erlang-AUG7C7KY.css" />
+
+
+    <script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
+    <script src="dist/handlebars.templates-XWGFFSCD.js"></script>
+    <script src="dist/sidebar_items-493952EA.js"></script>
+
+      <script src="docs_config.js"></script>
+
+    <script async src="dist/html-JDI3AVDD.js"></script>
+
+
+  </head>
+  <body data-type="search" class="page-search">
+    <script>
+
+      try {
+        var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
+
+        if (settings.theme === 'dark' ||
+           ((settings.theme === 'system' || settings.theme == null) &&
+             window.matchMedia('(prefers-color-scheme: dark)').matches)
+           ) {
+          document.body.classList.add('dark')
+        }
+      } catch (error) { }
+    </script>
+
+<div class="main">
+
+<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
+  <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<section class="sidebar">
+  <form class="sidebar-search" action="search.html">
+    <button type="submit" class="search-button" aria-label="Submit Search">
+      <i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
+    </button>
+    <button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
+      <i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
+    </button>
+    <label class="search-label">
+      <p class="sr-only">Search</p>
+      <input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+    </label>
+  </form>
+
+  <div class="autocomplete">
+    <div class="autocomplete-results">
+    </div>
+  </div>
+
+  <div class="sidebar-header">
+
+    <div class="sidebar-projectDetails">
+      <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+      </a>
+      <div class="sidebar-projectVersion" translate="no">
+        v0.1.0
+      </div>
+    </div>
+    <ul class="sidebar-listNav">
+      <li><a id="extras-list-link" href="#full-list">Pages</a></li>
+
+        <li><a id="modules-list-link" href="#full-list">Modules</a></li>
+
+
+    </ul>
+  </div>
+
+  <div class="gradient"></div>
+  <ul id="full-list"></ul>
+</section>
+
+<section class="content">
+  <output role="status" id="toast"></output>
+  <div class="content-outer">
+    <div id="content" class="content-inner">
+
+<div id="search">
+  <h1>
+<button class="icon-action display-settings">
+  <i class="ri-settings-3-line"></i>
+  <span class="sr-only">Settings</span>
+</button>
+
+    <span></span>
+  </h1>
+
+  <div class="loading"><div></div><div></div><div></div><div></div></div>
+</div>
+<script src="dist/search_items-4E0C5A40.js"></script>
+      <footer class="footer">
+        <p>
+
+            <span class="line">
+              <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+              <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+            </span>
+
+          <span class="line">
+            <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+              Search HexDocs
+            </button>
+
+              <a href="arrow.epub" title="ePub version">
+                Download ePub version
+              </a>
+
+          </span>
+        </p>
+
+        <p class="built-using">
+          Built using
+          <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
+
+            <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+        </p>
+      </footer>
+    </div>
+  </div>
+</section>
+</div>
+
+
+  </body>
+</html>