diff --git a/src/ui/kgEntryViewer/kgentry.template.html b/src/ui/kgEntryViewer/kgentry.template.html
index ae1e44f3da6628f06ecd562ace6841066d46f396..8b6d77d208dfb4d81ab3cdbe340f22456bd30f8c 100644
--- a/src/ui/kgEntryViewer/kgentry.template.html
+++ b/src/ui/kgEntryViewer/kgentry.template.html
@@ -83,9 +83,14 @@
         Methods
       </div>
       <div body>
-        <div *ngFor = "let method of kgData.methods">
-          {{ method.value }}
+        <div *ngIf = "isArray(kgData.methods); else singleMethodTemplate">
+          <div *ngFor = "let method of kgData.methods">
+            {{ method.value }}
+          </div>
         </div>
+        <ng-template #singleMethodTemplate>
+          {{ kgData.methods.value }}
+        </ng-template>
       </div>
     </panel-component>
 
@@ -103,9 +108,14 @@
         Files
       </div>
       <div body>
-        <div *ngFor = "let file of kgData.files">
-          {{ file.value }}
+        <div *ngIf = "isArray(kgData.files);else singleFileTemplate">
+          <div *ngFor = "let file of kgData.files">
+            {{ file.value }}
+          </div>
         </div>
+        <ng-template #singleFileTemplate>
+          {{ kgData.files.value }}
+        </ng-template>
       </div>
     </panel-component>
 
diff --git a/src/ui/kgEntryViewer/subjectViewer/subjectViewer.component.ts b/src/ui/kgEntryViewer/subjectViewer/subjectViewer.component.ts
index ca2932fa4701629c2faafcee2f51f2e39ef2ba75..ab291c490c5b460b80d6d92a6d1b4312ada9ba4f 100644
--- a/src/ui/kgEntryViewer/subjectViewer/subjectViewer.component.ts
+++ b/src/ui/kgEntryViewer/subjectViewer/subjectViewer.component.ts
@@ -8,23 +8,34 @@ import { Component, Input, ChangeDetectionStrategy } from "@angular/core";
 })
 
 export class SubjectViewer{
-  @Input() subjects: any[] = []
+  @Input() subjects: any = []
+
+  get isSingle():boolean{
+    return this.subjects.constructor !== Array
+  }
 
   get species():string[]{
-    return this.subjects.reduce((acc:string[],curr:any) => 
-      acc.findIndex(species => species === curr.children.species.value) >= 0
-        ? acc
-        : acc.concat(curr.children.species.value)
-    , [])
+    return this.isSingle
+      ? [this.subjects.children.species.value]
+      : this.subjects.reduce((acc:string[],curr:any) => 
+        acc.findIndex(species => species === curr.children.species.value) >= 0
+          ? acc
+          : acc.concat(curr.children.species.value)
+      , [])
   }
 
   get groupBySex(){
-    return this.subjects.reduce((acc:any[],curr) => 
-      acc.findIndex(item => item.name === curr.children.sex.value) >= 0
-        ? acc.map(item => item.name === curr.children.sex.value
-          ? Object.assign({}, item, { count: item.count + 1 })
-          : item)
-        : acc.concat({name: curr.children.sex.value, count: 1})
-    , [])
+    return this.isSingle
+      ? [{
+          name : this.subjects.children.sex.value,
+          count : 1
+        }]
+      : this.subjects.reduce((acc:any[],curr) => 
+        acc.findIndex(item => item.name === curr.children.sex.value) >= 0
+          ? acc.map(item => item.name === curr.children.sex.value
+            ? Object.assign({}, item, { count: item.count + 1 })
+            : item)
+          : acc.concat({name: curr.children.sex.value, count: 1})
+      , [])
   }
 }
\ No newline at end of file