diff --git a/doc/TLS_CNL113839_1551.adoc b/doc/TLS_CNL113839_1551.adoc
new file mode 100644
index 0000000..a629979
--- /dev/null
+++ b/doc/TLS_CNL113839_1551.adoc
@@ -0,0 +1,246 @@
+---
+Author: Tímea Moder
+Version: 1551-CNL 113 839, Rev. B
+Date: 2018-02-12
+
+---
+= TLS library for TTCN-3 Toolset with TITAN, Function Description
+:author: Tímea Moder
+:revnumber: 1551-CNL 113 839 Rev. B
+:revdate: 2018-02-12
+:toc:
+
+== How to Read This Document
+
+This is the Function Specification for the TLS library. The TLS library are developed for the TTCN-3 Toolset with TITAN.
+
+== Scope
+
+The purpose of this document is to specify the content of the TLS library. The document is primarily addressed to the end users of the product. Basic knowledge of TTCN-3 <<_2, [2]>> and TITAN TTCN-3 Test Executor <<_3, [3]>> is valuable when reading this document.
+
+== System Requirements
+
+The TLS library is a set of TTCN-3 source code files that can be used as part of TTCN-3 test suites only. Hence, TLS library alone do not put specific requirements on the system used. However, in order to compile and execute a TTCN-3 test suite using the set of protocol modules the following system requirements must be satisfied:
+
+* TITAN TTCN-3 Test Executor version CRL 113 200/6 R3A (6.3.pl0) or higher installed.
+
+NOTE: This version of the protocol module is not compatible with TITAN releases earlier than CRL 113 200/6 R3A. For installation guide see <<_2, [2]>>.
+
+* OpenSSL development library is installed. See <<_1, [1]>>.
+
+= Protocol Modules
+
+== Overview
+
+The TLS library implement the control functions in a formalized way. This allows defining of test data (templates) in the TTCN-3 language <<_2, [2]>> and correct encoding/decoding of messages when executing test suites using the TITAN TTCN-3 test environment.
+
+== Installation
+
+The set of protocol modules can be used in developing TTCN-3 test suites using any text editor. However, to make the work more efficient a TTCN-3-enabled text editor is recommended (e.g. `nedit`, `xemacs`). Since the TLS library is used as a part of a TTCN-3 test suite, this requires TTCN-3 Test Executor be installed before the module can be compiled and executed together with other parts of the test suite. For more details on the installation of TTCN-3 Test Executor see the relevant section of <<_3, [3]>>.
+
+== Configuration
+
+None.
+
+= Functional Specification
+
+== Supported TLS Versions
+
+The TLS library uses the OpenSSL, hence the supported SSL/TLS/DTLS versions are depends on the used version of the OpenSSL. The TLS library provides interface for:
+
+* SSLv3
+* TLSv1, TLSv1.1, TLSv1.2
+* DTLSv1.0, DTLSv1.2
+
+== TLS Object Handling Function
+
+In order to establish TLS/DTLS connections a TLS object should be created.
+
+[source]
+----
+external function TLS_New_object(
+        in TLS_descriptor descr
+        out integer object_id,
+        in integer user_idx := -1
+) return TLS_op_result;
+----
+
+The function returns the result of the object creation. The object can be referenced later by the `object_id`.
+
+The optional `user_idx` is not used by the TLS library directly, just stored as is. It can be used a reference to another object or connection.
+
+After the TLS/DTLS connection is not used any more the object should be destroyed.
+
+[source]
+external function TLS_Delete_object(in integer object_id) return TLS_op_result;
+
+== TLS Descriptor
+
+The TLS descriptor has the following fields:
+
+* `tls_method`: +
+Type: TLS_method, mandatory +
+Default value: `_TLS_method_TLS_` +
+Allowed values: `_TLS_method_TLS_`, `_TLS_method_DTLS_` +
+It specifies which method to use: TLS/SSL or DTLS.
+* `min_supported_version`, `max_supported_version` +
+Type: TLS_Supported_proto_versions, optional +
+Default value: `_omit_` +
+Allowed values: `_TLS_SSL3_VERSION_`, `_TLS_TLS1_VERSION_`, `_TLS_TLS1_1_VERSION_`, `_TLS_TLS1_2_VERSION_`, `_TLS_DTLS1_VERSION_`, `_TLS_DTLS1_2_VERSION_` +
+The minimum and the maximum version of the supported protocol.
+* `ssl_key_file`: +
+Type: charstring, optional +
+Default value: `_omit_` +
+It specifies a PEM encoded file’s path on the file system containing the server’s RSA private key.
+* `ssl_certificate_file`: +
+Type: charstring, optional +
+Default value: `_omit_` +
+It specifies a PEM encoded file’s path on the file system containing the certificate chain.
+* `ssl_trustedCAlist_file`: +
+Type: charstring, optional +
+Default value: `_omit_` +
+It specifies a PEM encoded file’s path on the file system containing the certificates of the trusted CA authorities to use.
+* `ssl_cipher_list`: +
+Type: charstring, optional +
+Default value: `_omit_` +
+It can be used to specify the allowed cipher list.
+* `ssl_password`: +
+Type: charstring, optional +
+Default value: `_omit_` +
+It specifies the password protecting the private key file.
+* `ssl_verify_certificate`: +
+Type: boolean, optional +
+Default value: `_true_` +
+It can be used to specify whether to check the certificate of the other side.
+* `psk_hint`: +
+Type: charstring, optional +
+Default value: `_omit_` +
+The server can provide a "PSK identity hint" in the `ServerKeyExchange` message. In the case where PSK identity hint is omit, the server does not send the `ServerKeyExchange` message to the client.
+* `psk_identity`: +
+Type: charstring, optional +
+Default value: `_omit_` +
+The "PSK identity" is included in the `ClientKeyExchange` message and transmitted to the server. After the negotiation for "PSK identity" is done, the client and the server can generate their pre-master secrets with the pre-shared key.
+* `psk_key`: +
+Type: charstring, optional +
+Default value: `_omit_` +
+It is the psk key in hexadecimal representation form.
+* `psk_for_server`: +
+Type: boolean, optional +
+Default value: `_omit_` +
+It can be used to specify the used psk callback function, the psk server callback or the psk client callback function will be called.
+
+== Connection Establishment
+
+The function to use to establish connection:
+
+[source]
+----
+external function TLS_Handshake(in integer object_id,
+                in boolean is_server
+                in octetstring input_stream,
+                out octetstring output_stream
+) return TLS_op_result;
+----
+
+The function should be called repeatedly until the handshake is finished.
+
+The return values:
+
+* `_TLS_OK_`: handshake finished
+* `_TLS_NEED_MORE_DATA_`: send the output stream to the peer if len >0, call the function again with more data from peer
+* `_TLS_DATA_TO_SEND_`: send the output stream to the peer, and call the function again
+* `_TLS_ERROR_`: something went wrong.
+
+Parameters:
+
+* `object_id`: The TLS object, created by the TLS_New_object
+* `is_server`: true: server side, false: client side
+* `input_stream`: The data received from the peer, or empty string
+* `output_stream`: The function places the data should be sent to the peer.
+
+== Data Exchange Function
+
+=== Send Data to the Peer
+
+The following function can be used to send data to the peer:
+
+[source]
+----
+external function TLS_Write(in integer object_id,
+            in octetstring user_data
+            in octetstring input_stream,
+            out octetstring output_stream
+) return TLS_op_result;
+----
+
+Should be called repeatedly until returns `TLS_OK`.
+
+The return values:
+
+* `_TLS_OK_`: all data ready to be sent.
+* `_TLS_NEED_MORE_DATA_`: send the output stream to the peer if `len >0`, call the function again with more data from peer
+* `_TLS_DATA_TO_SEND_`: send the output stream to the peer, and call the function again
+* `_TLS_ERROR_`: something went wrong.
+
+Parameters:
+
+* `object_id`: The TLS object, created by the `TLS_New_object`
+* `user_data`: the data to be sent
+* `input_stream`: The data received from the peer, or empty string
+* `output_stream`: The function places the data should be sent to the peer.
+
+=== Receive Data from the Peer
+
+The following function can be used to decrypt the data received from the peer:
+
+[source]
+----
+external function TLS_Read(in integer object_id,
+          out octetstring user_data,
+          in octetstring input_stream,
+          out octetstring output_stream
+) return TLS_op_result;
+----
+
+Should be called repeatedly until returns `TLS_OK`.
+
+The return values:
+
+* `_TLS_OK_`: all data received.
+* `_TLS_NEED_MORE_DATA_`: send the output stream to the peer if `len >0`, call the function again with more data from peer
+* `_TLS_DATA_TO_SEND_`: send the output stream to the peer, and call the function again
+* `_TLS_ERROR_`: something went wrong.
+
+Parameters:
+
+* `object_id`: The TLS object, created by the `TLS_New_object`
+* `user_data`: the received data
+* `input_stream`: The data received from the peer, or empty string
+* `output_stream`: The function places the data should be sent to the peer.
+
+= Terminology
+
+No specific terminology is used.
+
+= Abbreviations
+
+DTLS:: Datagram Transport Layer Security
+
+TLS:: Transport Layer Secuity
+
+TTCN-3:: Testing and Test Control Notation version 3
+
+SSL:: Secure Socket Layer
+
+= References
+
+[[_1]]
+[1] OpenSSL +
+https://www.openssl.org/
+
+[[_2]]
+[2] ETSI ES 201 873-1 v3.2.1 (2007-02) +
+The Testing and Test Control Notation version 3; Part 1: Core Language
+
+[[_3]]
+[3] User Guide for the TITAN TTCN-3 Test Executor
diff --git a/doc/TLS_CNL113839_1551.doc b/doc/TLS_CNL113839_1551.doc
deleted file mode 100644
index 2727c7f..0000000
--- a/doc/TLS_CNL113839_1551.doc
+++ /dev/null
Binary files differ
diff --git a/doc/TLS_CNL113839_1551.pdf b/doc/TLS_CNL113839_1551.pdf
new file mode 100644
index 0000000..e99c824
--- /dev/null
+++ b/doc/TLS_CNL113839_1551.pdf
Binary files differ
diff --git a/doc/change.log b/doc/change.log
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/change.log
