diff --git a/random/ta/include/random_example_ta.h b/random/ta/include/random_ta.h
similarity index 79%
rename from random/ta/include/random_example_ta.h
rename to random/ta/include/random_ta.h
index d40bb63..30eeead 100644
--- a/random/ta/include/random_example_ta.h
+++ b/random/ta/include/random_ta.h
@@ -24,15 +24,19 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  */
-#ifndef TA_RANDOM_EXAMPLE_H
-#define TA_RANDOM_EXAMPLE_H
 
-/* This UUID is generated with uuidgen
-   the ITU-T UUID generator at http://www.itu.int/ITU-T/asn1/uuid.html */
-#define TA_RANDOM_EXAMPLE_UUID { 0xb6c53aba, 0x9669, 0x4668, \
+#ifndef __RANDOM_TA_H__
+#define __RANDOM_TA_H__
+
+/*
+ * This UUID is generated with uuidgen
+ * the ITU-T UUID generator at http://www.itu.int/ITU-T/asn1/uuid.html
+ */
+#define TA_RANDOM_UUID \
+	{ 0xb6c53aba, 0x9669, 0x4668, \
 		{ 0xa7, 0xf2, 0x20, 0x56, 0x29, 0xd0, 0x0f, 0x86} }
 
-/* The Trusted Application Function ID(s) implemented in this TA */
-#define TA_EXAMPLE_RANDOM_GENERATE	0
+/* The function ID implemented in this TA */
+#define TA_RANDOM_CMD_GENERATE		0
 
-#endif /* TA_RANDOM_EXAMPLE_H */
+#endif /* __RANDOM_TA_H__ */
diff --git a/random/ta/random_example_ta.c b/random/ta/random_example_ta.c
index 8f7506a..ef4696a 100644
--- a/random/ta/random_example_ta.c
+++ b/random/ta/random_example_ta.c
@@ -25,12 +25,10 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
-#define STR_TRACE_USER_TA "RANDOM_EXAMPLE_TA"
-
 #include <tee_internal_api.h>
 #include <tee_internal_api_extensions.h>
 
-#include "random_example_ta.h"
+#include <random_ta.h>
 
 TEE_Result TA_CreateEntryPoint(void)
 {
@@ -66,9 +64,11 @@
 static TEE_Result random_number_generate(uint32_t param_types,
 	TEE_Param params[4])
 {
-	uint32_t exp_param_types = TEE_PARAM_TYPES
-					(TEE_PARAM_TYPE_MEMREF_OUTPUT, TEE_PARAM_TYPE_NONE,
-					 TEE_PARAM_TYPE_NONE, TEE_PARAM_TYPE_NONE);
+	uint32_t exp_param_types =
+				TEE_PARAM_TYPES(TEE_PARAM_TYPE_MEMREF_OUTPUT,
+						TEE_PARAM_TYPE_NONE,
+						TEE_PARAM_TYPE_NONE,
+						TEE_PARAM_TYPE_NONE);
 
 	DMSG("has been called");
 	if (param_types != exp_param_types)
@@ -95,7 +95,7 @@
 	(void)&sess_ctx;
 
 	switch (cmd_id) {
-	case TA_EXAMPLE_RANDOM_GENERATE:
+	case TA_RANDOM_CMD_GENERATE:
 		return random_number_generate(param_types, params);
 	default:
 		return TEE_ERROR_BAD_PARAMETERS;
diff --git a/random/ta/user_ta_header_defines.h b/random/ta/user_ta_header_defines.h
index 07ee1ce..37dacc1 100644
--- a/random/ta/user_ta_header_defines.h
+++ b/random/ta/user_ta_header_defines.h
@@ -32,17 +32,27 @@
 #ifndef USER_TA_HEADER_DEFINES_H
 #define USER_TA_HEADER_DEFINES_H
 
-#include <random_example_ta.h> /* To get the TA_RANDOM_EXAMPLE_UUID define */
+ /* To get the TA_RANDOM_EXAMPLE_UUID define */
+#include <random_ta.h>
 
-#define TA_UUID TA_RANDOM_EXAMPLE_UUID
+#define TA_UUID				TA_RANDOM_UUID
 
-#define TA_FLAGS                    TA_FLAG_EXEC_DDR
-#define TA_STACK_SIZE               (2 * 1024)
-#define TA_DATA_SIZE                (32 * 1024)
+/*
+ * TA properties: multi-instance TA, no specific attribute
+ * TA_FLAG_EXEC_DDR is meaningless but mandated.
+ */
+#define TA_FLAGS			TA_FLAG_EXEC_DDR
 
+/* Provisioned stack size */
+#define TA_STACK_SIZE			(2 * 1024)
+
+/* Provisioned heap size for TEE_Malloc() and friends */
+#define TA_DATA_SIZE			(32 * 1024)
+
+/* Extra properties (give a version id and a string name) */
 #define TA_CURRENT_TA_EXT_PROPERTIES \
     { "gp.ta.description", USER_TA_PROP_TYPE_STRING, \
-      "Fill buffer with output from TEE_GenerateRandom" }, \
+      "Example of a TA that returns the output from TEE_GenerateRandom" }, \
     { "gp.ta.version", USER_TA_PROP_TYPE_U32, &(const uint32_t){ 0x0010 } }
 
-#endif /*USER_TA_HEADER_DEFINES_H*/
+#endif /* USER_TA_HEADER_DEFINES_H */
