diff --git a/taxonomylist.php b/taxonomylist.php
index 139597f..120b89c 100644
--- a/taxonomylist.php
+++ b/taxonomylist.php
@@ -1,2 +1,136 @@
-
-
+
+<?php
+/**
+ * @file
+ * Contains \Drupal\cleantaxonomy\Controller\TaxonomyList.
+ */
+ 
+namespace Drupal\cleantaxonomy\Controller;
+use Drupal\Core\Url;
+use Drupal\Core\Database\Connection;
+use Drupal\Component\Utility\SafeMarkup;
+use Drupal\Core\Form\FormBuilderInterface;
+use Drupal\Core\Controller\ControllerBase;
+use Symfony\Component\DependencyInjection\ContainerInterface;	
+/**
+ * Provides route responses for the commerce module.
+ */
+class TaxonomyList extends ControllerBase 
+{
+  protected $database;
+  protected $formBuilder;
+
+  public static function create(ContainerInterface $container) 
+  {
+    return new static(
+      $container->get('database'),
+      $container->get('form_builder')
+    );
+  }
+
+  public function __construct(Connection $database,FormBuilderInterface $form_builder) 
+  {
+    $this->database = $database;
+    $this->formBuilder = $form_builder;
+  }
+
+  public function TaxonomyTermsList() 
+  {
+    $header = array(
+      t('Term ID'),
+      t('Taxonomy Term'),
+      array(
+        'data' => t('No.of nodes attached'),
+        'sort' => 'asc'
+      ),
+      array('data' => t('Operation'),'align'=>'middle','colspan' => '3'),
+      );
+    $query = db_select('taxonomy_term_field_data')
+      ->fields('taxonomy_term_field_data',array('tid','name'))
+      ->orderBy('tid',ASC)
+      ->execute();
+    $results=$query->fetchAll();
+    $values = array();
+    $size=0;
+    foreach ($results as $result) 
+    {
+      $values[$result->tid] = $result;
+      $size++;
+    } 
+    $query1=db_query("SELECT count(nid) AS n,tid FROM {taxonomy_index} GROUP BY tid",array());
+    $records=$query1->fetchAll();
+    $i=0; 
+    $temp[]=array();
+    foreach ($records as $record) 
+    {
+      $b[$i]= $record->n;
+      $a[$i]= $record->tid; 
+      $i++;
+    }
+    $j=0;
+    $k=0;
+    for ($i=1; $i <=$size; $i++) 
+    {
+      if($a[$j]!=$i)
+      {
+        $temp[$i]=$i;
+        $nodes[$i]=0;
+      }
+      else
+      {
+        $temp[$i]=$a[$j];
+        $nodes[$i]=$b[$k];
+        $j++;
+        $k++;
+      }
+    }
+    $s=1;
+    foreach ($values as $value)
+    {
+      $tid[$s]=$value->tid;
+      $name[$s]=$value->name;
+      $s++;
+    }
+    for($i=1;$i<=$size;$i++)
+    {
+      for($j=1;$j<=$size-$i;$j++)
+      {
+        if($nodes[$j]<$nodes[$j+1])
+        {
+          $x=$nodes[$j];
+          $nodes[$j]=$nodes[$j+1];
+          $nodes[$j+1]=$x;
+          $y=$tid[$j];
+          $tid[$j]=$tid[$j+1];
+          $tid[$j+1]=$y;
+          $z=$name[$j];
+          $name[$j]=$name[$j+1];
+          $name[$j+1]=$z;
+        }
+      }
+    }
+    $s=1;
+    $rows = array();
+    for($n=1;$n<=$size;$n++) 
+    {
+      $rows[] = array(
+        'data' => array(
+          t($tid[$n]),
+          t($name[$n]),
+          print_r($nodes[$s],$s++),
+          \Drupal::l(t('View'), Url::fromUri('internal:/taxonomy/term/'.$tid[$n],array($tid[$n]))),
+          \Drupal::l(t('Edit'), Url::fromUri('internal:/taxonomy/term/'.$tid[$n].'/edit')),
+          \Drupal::l(t('Delete'), Url::fromUri('internal:/taxonomy/term/'.$tid[$n].'/delete')),
+        ),
+      );
+    }
+    $build['admin_cleantaxonomy_list_table'] = array(
+      '#type' => 'table',
+      '#header' => $header,
+      '#rows' => $rows,
+      '#empty' => $this->t('No user queues available.'),
+    );
+    $build['admin_cleantaxonomy_list_pager'] = array('#theme' => 'pager');
+    return $build;
+  }
+}
