diff --git a/Documentation/classarmnn_1_1profiling_1_1_i_send_timeline_packet-members.html b/Documentation/classarmnn_1_1profiling_1_1_i_send_timeline_packet-members.html
new file mode 100644
index 0000000..c3696cf
--- /dev/null
+++ b/Documentation/classarmnn_1_1profiling_1_1_i_send_timeline_packet-members.html
@@ -0,0 +1,109 @@
+<!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: Member List</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('classarmnn_1_1profiling_1_1_i_send_timeline_packet.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="header">
+  <div class="headertitle">
+<div class="title">ISendTimelinePacket Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html">ISendTimelinePacket</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html#afa8522a76e7102e41d7c73a34fe493d4">Commit</a>()=0</td><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html">ISendTimelinePacket</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html#af7eb3c2db53d7cba441b9a8d3a7bede9">SendTimelineEntityBinaryPacket</a>(uint64_t profilingGuid)=0</td><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html">ISendTimelinePacket</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html#af989a156fe1339215ecb6667fce1b9de">SendTimelineEventBinaryPacket</a>(uint64_t timestamp, std::thread::id threadId, uint64_t profilingGuid)=0</td><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html">ISendTimelinePacket</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html#ae487fd34b2cf1fd88381da8fcb8c0984">SendTimelineEventClassBinaryPacket</a>(uint64_t profilingGuid)=0</td><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html">ISendTimelinePacket</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html#a0426a9f8bc2789012477f08c3e03a532">SendTimelineLabelBinaryPacket</a>(uint64_t profilingGuid, const std::string &amp;label)=0</td><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html">ISendTimelinePacket</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html#a4025973da19ce55930abfd8b6df4edbe">SendTimelineMessageDirectoryPackage</a>()=0</td><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html">ISendTimelinePacket</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html#affa63e0fcb0702b52815e840d7813803">SendTimelineRelationshipBinaryPacket</a>(ProfilingRelationshipType relationshipType, uint64_t relationshipGuid, uint64_t headGuid, uint64_t tailGuid)=0</td><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html">ISendTimelinePacket</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html#a86e61b430276d7fe2861e2b3ac30221c">~ISendTimelinePacket</a>()</td><td class="entry"><a class="el" href="classarmnn_1_1profiling_1_1_i_send_timeline_packet.html">ISendTimelinePacket</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></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>
