diff --git a/README.md b/README.md
index b9ee857..8889739 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,13 @@
-#OpenWhisk Playground
+# OpenWhisk Playground
+
+[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
+<!-- [![Build Status](https://travis-ci.org/apache/incubator-openwhisk-playground.svg?branch=master)](https://travis-ci.org/apache/incubator-openwhisk-playground) -->
 
 ## Usage
 
 This library provides functionality of executing
-a snippet of source code as OpenWhisk action for 
-OpenWhisk Xcode Source Editor Extension 
+a snippet of source code as OpenWhisk action for
+OpenWhisk Xcode Source Editor Extension
 in order to test Swift OpenWhisk functions quickly.
 More details in https://github.com/openwhisk/openwhisk-xcode
 
diff --git a/hello-action.js b/hello-action.js
index 8377d6f..9042902 100644
--- a/hello-action.js
+++ b/hello-action.js
@@ -1,3 +1,6 @@
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
+
 function main() {
     console.log('log action started')
 //   return {payload: 'Hello world'};
diff --git a/openwhisk-playground.js b/openwhisk-playground.js
index 8b7ccfe..837d4bc 100644
--- a/openwhisk-playground.js
+++ b/openwhisk-playground.js
@@ -1,3 +1,6 @@
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
+
 'use strict';
 
 const debug = require('debug')('openwhisk-playground')
diff --git a/test.js b/test.js
index d99dfdd..2b851ef 100644
--- a/test.js
+++ b/test.js
@@ -1,4 +1,7 @@
-const debug = require('debug')('openwhisk-playground-test')  
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
+
+const debug = require('debug')('openwhisk-playground-test')
 const assert = require('assert')
 
 var OpenWhiskPlayground = require("./openwhisk-playground.js")
@@ -34,7 +37,6 @@
     assert.ok(false, ' failed '+ JSON.stringify(err));
   }
 
-
   // evaluate
   playground.setInjectLogRetrievalFailure(true)
   playground.evaluate(params, success, error)
@@ -43,4 +45,4 @@
 
 test()
 
-module.exports = test
\ No newline at end of file
+module.exports = test
