diff --git a/Documentation/functions_eval.html b/Documentation/functions_eval.html
new file mode 100644
index 0000000..f89ba50
--- /dev/null
+++ b/Documentation/functions_eval.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>ArmNN: Class Members - Enumerator</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">ArmNN
+   &#160;<span id="projectnumber">NotReleased</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('functions_eval.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>MAX_STRING_ID
+: <a class="el" href="structarmnn_1_1_string_mapping.html#a4e7b349a05a558fa6792c71c11a6bf11a2834f8182f216d07e2f6311e9e6b7d98">StringMapping</a>
+</li>
+<li>NCHW
+: <a class="el" href="class_image_preprocessor.html#a8b182988d497b07d1e06a1707b67897fa54d2c44e9fb4c89a3abd5088e04fdc48">ImagePreprocessor&lt; TDataType &gt;</a>
+</li>
+<li>NHWC
+: <a class="el" href="class_image_preprocessor.html#a8b182988d497b07d1e06a1707b67897fa7442702e1d93df81504eb5e5d536c2fc">ImagePreprocessor&lt; TDataType &gt;</a>
+</li>
+<li>RefAdditionWorkload_Execute
+: <a class="el" href="structarmnn_1_1_string_mapping.html#a4e7b349a05a558fa6792c71c11a6bf11a5b84f797c82a1ad494549330af517ad5">StringMapping</a>
+</li>
+<li>RefDivisionWorkload_Execute
+: <a class="el" href="structarmnn_1_1_string_mapping.html#a4e7b349a05a558fa6792c71c11a6bf11a69485fd6282ca5ed7d50589f8f759645">StringMapping</a>
+</li>
+<li>RefMaximumWorkload_Execute
+: <a class="el" href="structarmnn_1_1_string_mapping.html#a4e7b349a05a558fa6792c71c11a6bf11aea93564675347f60a80cf699c177a80e">StringMapping</a>
+</li>
+<li>RefMinimumWorkload_Execute
+: <a class="el" href="structarmnn_1_1_string_mapping.html#a4e7b349a05a558fa6792c71c11a6bf11a9bddcf9777d5ca3ab5e40b3a93559625">StringMapping</a>
+</li>
+<li>RefMultiplicationWorkload_Execute
+: <a class="el" href="structarmnn_1_1_string_mapping.html#a4e7b349a05a558fa6792c71c11a6bf11ab3eb648f0f29bf56db68d80624b9bb6c">StringMapping</a>
+</li>
+<li>RefSubtractionWorkload_Execute
+: <a class="el" href="structarmnn_1_1_string_mapping.html#a4e7b349a05a558fa6792c71c11a6bf11a3694ad0341ebb1fe50b78efe13672519">StringMapping</a>
+</li>
+<li>TIME_MS
+: <a class="el" href="structarmnn_1_1_measurement.html#abceb2331ad056e3c5ad27894199a49edab2234de0b81a6c02ab51dcfc63065bca">Measurement</a>
+</li>
+<li>TIME_NS
+: <a class="el" href="structarmnn_1_1_measurement.html#abceb2331ad056e3c5ad27894199a49edac04d6fce03ff6dfde82088100ad3f3d7">Measurement</a>
+</li>
+<li>TIME_US
+: <a class="el" href="structarmnn_1_1_measurement.html#abceb2331ad056e3c5ad27894199a49edaef96c3935bbc898edd62723ad8cb00ea">Measurement</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Fri Mar 13 2020 16:07:06 for ArmNN by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>
