diff --git a/src/directive/GoToTopDirective.ts b/src/directive/GoToTopDirective.ts
new file mode 100644
index 0000000..67cdc96
--- /dev/null
+++ b/src/directive/GoToTopDirective.ts
@@ -0,0 +1,55 @@
+/*
+ Copyright 2020 TATA ELXSI
+
+ 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.
+
+ Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.in), BARATH KUMAR R (barath.r@tataelxsi.co.in)
+ */
+
+/**
+ * @file Directive for go to top button.
+ */
+import { Directive, HostListener } from '@angular/core';
+import { SharedService } from 'SharedService';
+
+/**
+ * Creating Directive for handling go to top button
+ * @Directive appGottoTop selector
+ */
+@Directive({
+  selector: '[appGottoTop]'
+})
+/** Exporting a class @exports GoToTopDirective */
+export class GoToTopDirective {
+  /** To set scroll top position @private */
+  private topPosToStartShowing: number = 100;
+
+  /** Contains all methods related to shared @private */
+  private sharedService: SharedService;
+
+  constructor(sharedService: SharedService) {
+    this.sharedService = sharedService;
+  }
+  /**
+   * to listen the scroll event in DOM @public
+   */
+  @HostListener('window:scroll') public enableGotoTop(): void {
+    const scrollPosition: number = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop);
+    if (scrollPosition >= this.topPosToStartShowing) {
+      this.sharedService.showGotoTop = true;
+    } else {
+      this.sharedService.showGotoTop = false;
+    }
+  }
+
+}
