diff --git a/internal/pkg/impl/echo.go b/internal/pkg/impl/echo.go
new file mode 100644
index 0000000..1727afe
--- /dev/null
+++ b/internal/pkg/impl/echo.go
@@ -0,0 +1,26 @@
+/*
+ Copyright 2017 the original author or authors.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+package impl
+
+/*
+Echo - Tester function which just returns same string sent to it
+*/
+func Echo(ping string) (string, error) {
+	myChan := getSyncChannel()
+	<-myChan
+	defer done(myChan, true)
+	return ping, nil
+}
