diff --git a/src/draw/coordinate.entity.ts b/src/draw/coordinate.entity.ts
index e9fa35a222c8670171b8b1c4971a70334d34e193..8350415c98fa0160f29047c4b24355ee78049a0e 100644
--- a/src/draw/coordinate.entity.ts
+++ b/src/draw/coordinate.entity.ts
@@ -9,12 +9,18 @@ import {
 import { GameEntity } from '../game/game.entity';
 import { FactionEntity } from '../faction/faction.entity';
 
+//////////////////////////////////////////////////////////////////////
+/// Entities for different drawings in game and their histories    ///
+//////////////////////////////////////////////////////////////////////
+
 @Entity('MapDrawing')
 export class MapDrawingEntity {
   @PrimaryGeneratedColumn('uuid') mapDrawingId: string;
   @Column({ type: 'bool', nullable: true }) drawingIsActive: boolean;
   @Column({ type: 'json', nullable: true }) data: JSON;
 
+  // When Faction or game that has the drawing in question is deleted from 
+  // the database, the drawing is also deleted
   @ManyToOne(type => FactionEntity, faction => faction.mapDrawings, {
     onDelete: 'CASCADE',
   })
@@ -42,6 +48,7 @@ export class MapDrawingHistoryEntity {
   @Column('bool') drawingIsActive: boolean;
   @Column('json') data: JSON;
 
+  // If drawing is deleted, it's histories are deleted also
   @ManyToOne(() => MapDrawingEntity, mapDrawing => mapDrawing.mapDrawingId, {
     onDelete: 'CASCADE',
   })
diff --git a/src/draw/draw.controller.ts b/src/draw/draw.controller.ts
index 39db26afdbaab2f8c4c44ca166fc545742daf5f9..08b493940ff0b802a664c4bf5e54d797bf7690f4 100644
--- a/src/draw/draw.controller.ts
+++ b/src/draw/draw.controller.ts
@@ -1,7 +1,6 @@
 import {
   Controller,
   Put,
-  UseGuards,
   Get,
   Param,
   UsePipes,
@@ -16,13 +15,16 @@ import { Roles, GameStates } from '../shared/guard.decorator';
 import { MapDrawingDTO } from './mapdrawing.dto';
 import { GamePerson } from 'src/game/gameperson.decorator';
 
-/*
-      DrawController
+//////////////////////////////////////////////////////////////////////////
+///     DrawController                                                 ///
+///                                                                    ///
+///     Functions either insert or return MapDrawing data,             ///
+///     Insert functions require user to have proper role (either gm   ///
+///     or commander) in the game to be able store the data:           ///
+///     MapDrawingDTO data to database.                                ///
+///     Data return functions require atleast spectator role.          ///
+//////////////////////////////////////////////////////////////////////////
   
-      Functions either insert or return MapDrawing data,
-      Insert functions require user to have proper role (either gm or commander) in the game to be able store the ddata: MapDrawingDTOata to database.
-      Data return functions require atleast spectator role.
-  */
 @Controller('draw')
 export class DrawController {
   constructor(private drawService: DrawService) {}
diff --git a/src/draw/draw.module.ts b/src/draw/draw.module.ts
index 86bb2e0e885019beedfd801caf6ef50a7fc6023a..bea1b669ffdde53e107179b3379711321a28aceb 100644
--- a/src/draw/draw.module.ts
+++ b/src/draw/draw.module.ts
@@ -10,10 +10,11 @@ import {
 import { FactionEntity } from '../faction/faction.entity';
 import { Game_PersonEntity } from '../game/game.entity';
 import { NotificationModule } from 'src/notifications/notifications.module';
-/*
-Draw
-- contains everything to do with mapdrawing data.
-*/
+
+/////////////////////////////////////////////////////////////////////
+/// Draw                                                          ///
+/// - contains everything to do with mapdrawing data.             ///
+/////////////////////////////////////////////////////////////////////
 @Module({
   imports: [
     TypeOrmModule.forFeature([
diff --git a/src/faction/faction.entity.ts b/src/faction/faction.entity.ts
index 5bdd6d933acef37be121d1fad29482e80f411aa4..a851e190b349d046aae00c776aef345b7de6f373 100644
--- a/src/faction/faction.entity.ts
+++ b/src/faction/faction.entity.ts
@@ -5,7 +5,6 @@ import {
   OneToMany,
   ManyToOne,
   OneToOne,
-  Timestamp,
   JoinColumn,
 } from 'typeorm';
 
@@ -15,7 +14,9 @@ import { MapDrawingEntity } from '../draw/coordinate.entity';
 import { Exclude } from 'class-transformer';
 import { ScoreEntity } from 'src/score/score.entity';
 
-//Faction, PowerUp, Faction_powerUp, FP_History, Score
+//////////////////////////////////////////////////////////////////////
+/// Entities for Factions and Groups in Factions                   ///
+//////////////////////////////////////////////////////////////////////
 
 @Entity('Faction')
 export class FactionEntity {
@@ -24,12 +25,14 @@ export class FactionEntity {
   @Column({ type: 'float' }) multiplier: number;
   @Column('text') colour: string;
 
+  // Faction's password won't be included when FactionEntity is transformed
   @Exclude()
   @Column({ type: 'text' })
   factionPassword: string;
 
   @OneToMany(type => Game_PersonEntity, game_persons => game_persons.faction)
   game_persons: Game_PersonEntity[];
+  // When Game where a Faction is in is deleted, the Factions in that game are also deleted
   @ManyToOne(type => GameEntity, game => game.factions, {
     onDelete: 'CASCADE',
   })
@@ -51,49 +54,12 @@ export class FactionEntity {
   }
 }
 
-/* @Entity('PowerUp')
-export class PowerUpEntity {
-  @PrimaryGeneratedColumn('uuid') powerUpId: string;
-  @Column({ type: 'text' }) powerUpName: string;
-  @Column({ type: 'text' }) powerUpDescription: string;
-  @Column({ type: 'int' }) amount: number;
-  @Column({ type: 'time' }) cooldown: string;
-
-  @OneToMany(type => FactionEntity, factions => factions.factionId, {
-    onDelete: 'CASCADE',
-  })
-  factions: Faction_PowerUpEntity[];
-}
-
-@Entity('Faction_PowerUp')
-export class Faction_PowerUpEntity {
-  @PrimaryGeneratedColumn('uuid') faction_powerUpId: string;
-
-  @ManyToOne(type => FactionEntity, faction => faction.factionId)
-  faction: FactionEntity;
-  @ManyToOne(type => PowerUpEntity, powerUp => powerUp.factions)
-  powerUp: PowerUpEntity;
-  @OneToMany(type => FP_HistoryEntity, histories => histories.faction_PowerUp)
-  histories: FP_HistoryEntity[];
-}
-
-@Entity('FP_History')
-export class FP_HistoryEntity {
-  @PrimaryGeneratedColumn('uuid') historyId: string;
-  @Column({ type: 'timestamp' }) historyTimeStamp: Timestamp;
-
-  @ManyToOne(
-    type => Faction_PowerUpEntity,
-    faction_PowerUp => faction_PowerUp.histories,
-  )
-  faction_PowerUp: Faction_PowerUpEntity;
-} */
-
 @Entity('GameGroup')
 export class GameGroupEntity {
   @PrimaryGeneratedColumn('uuid') id: string;
   @Column('text') name: string;
   @Column('text') class: string;
+  // When Groups leader, players or Faction is deleted, the Group(s) go also
   @OneToOne(type => Game_PersonEntity, person => person.leaderGroup, {
     onDelete: 'CASCADE',
   })
diff --git a/src/faction/faction.module.ts b/src/faction/faction.module.ts
index dcb399aa1119851781270477c448ecec7362c804..f53f076b7e88af7536e6307640d7e10414a7c357 100644
--- a/src/faction/faction.module.ts
+++ b/src/faction/faction.module.ts
@@ -6,6 +6,10 @@ import { FactionService } from './faction.service';
 import { GameGroupEntity, FactionEntity } from './faction.entity';
 import { Game_PersonEntity } from '../game/game.entity';
 
+/////////////////////////////////////////////////////////////////////
+/// Faction                                                       ///
+/// - contains everything to do with Faction data.                ///
+/////////////////////////////////////////////////////////////////////
 @Module({
   imports: [
     TypeOrmModule.forFeature([
diff --git a/src/faction/faction.service.ts b/src/faction/faction.service.ts
index 4a574baa552ac205b509a50edc75c50072663410..32299861ea7b8a349b89194c7f51e3626b7f2389 100644
--- a/src/faction/faction.service.ts
+++ b/src/faction/faction.service.ts
@@ -66,6 +66,7 @@ export class FactionService {
     };
   }
 
+  // changes factions multiplier to the value given to FactionDTO
   async changeFactionMultiplier(body: FactionDTO) {
     const faction = await this.factionRepository.findOne({
       where: { factionId: body.factionId },
@@ -129,6 +130,7 @@ export class FactionService {
     };
   }
 
+  // get the groups in the given Faction
   async showGroups(factionId) {
     return await this.game_GroupRepository.find({
       relations: ['leader', 'players'],
@@ -136,6 +138,7 @@ export class FactionService {
     });
   }
 
+  // puts a non admin or faction leader player into a specified group
   async joinGroup(gameperson, data: JoinGameGroupDTO) {
     gameperson.group = data.groupId;
     await this.game_PersonRepository.save(gameperson);
@@ -144,6 +147,7 @@ export class FactionService {
     };
   }
 
+  // lists all members from given faction
   async listFactionMembers(faction) {
     const members = await this.game_PersonRepository.find({
       where: { faction },
@@ -155,6 +159,7 @@ export class FactionService {
     return members;
   }
 
+  // checks if player is in a faction and what role the player is in
   async verifyUser(person, game) {
     const gameperson = await this.game_PersonRepository.findOne({
       where: { person, game },
diff --git a/src/game/game.controller.ts b/src/game/game.controller.ts
index a0b85a24e645f99bff5d1b4175bc6e9b24d1353f..27e3248368c7fa54c76db0cc114e66afdc445118 100644
--- a/src/game/game.controller.ts
+++ b/src/game/game.controller.ts
@@ -20,6 +20,15 @@ import { ValidationPipe } from '../shared/validation.pipe';
 import { Roles, GameStates } from '../shared/guard.decorator';
 import { GameEntity } from './game.entity';
 
+/////////////////////////////////////////////////////////////////////////
+///     GameController                                                ///
+///                                                                   ///
+///     Functions for creating, editing, deleting and listing games.  ///
+///     Also there are functions to get objective point info and list ///
+///     of Factions in game                                           ///
+///                                                                   ///
+/////////////////////////////////////////////////////////////////////////
+
 @Controller('game')
 export class GameController {
   constructor(private gameservice: GameService) {}
diff --git a/src/game/game.entity.ts b/src/game/game.entity.ts
index 7ae6e29955d02a2c1368b5f720200f009bd92ee1..22e171b67e655917d108a66695dae59f32304e4e 100644
--- a/src/game/game.entity.ts
+++ b/src/game/game.entity.ts
@@ -56,6 +56,7 @@ export class GameEntity {
 export class Game_PersonEntity {
   @PrimaryGeneratedColumn('uuid') gamepersonId: string;
   @Column({ type: 'text', nullable: true }) role: string;
+  // If a Faction or Game where the GamePerson was in is deleted, the GamePerson is also deleted
   @ManyToOne(type => FactionEntity, faction => faction.game_persons, {
     onDelete: 'CASCADE',
   })
@@ -68,6 +69,8 @@ export class Game_PersonEntity {
   person: PersonEntity;
   @OneToOne(type => GameGroupEntity, group => group.leader)
   leaderGroup: GameGroupEntity;
+
+  // When a Group where GamePerson is is deleted, nothing happens to the GamePerson
   @ManyToOne(type => GameGroupEntity, group => group.players, {
     onDelete: 'NO ACTION',
   })
@@ -81,6 +84,7 @@ export class ObjectivePointEntity {
   @Column({ type: 'text' }) objectivePointDescription: string;
   @Column({ type: 'float' }) objectivePointMultiplier: number;
 
+  // If the MapDrawing or Game where the ObjectivePoint was in is deleted, the ObjectivePoint is also deleted
   @ManyToOne(type => MapDrawingEntity, coordinate => coordinate.data, {
     onDelete: 'CASCADE',
   })
@@ -96,6 +100,9 @@ export class ObjectivePoint_HistoryEntity {
   @PrimaryGeneratedColumn('uuid') oP_HistoryId: string;
   @Column({ type: 'timestamp' }) oP_HistoryTimestamp: Timestamp;
   @Column('float') action: number;
+
+  // If the owner Faction, capturer Faction or ObjectivePoint, that has, is trying to have or is the point where 
+  // ObjectivePointHistory points to is deleted, the ObjectivePointHistory is also deleted
   @ManyToOne(type => FactionEntity, factionEntity => factionEntity.factionId, {
     onDelete: 'CASCADE',
   })
diff --git a/src/game/game.module.ts b/src/game/game.module.ts
index d08a79515052b1b3ee3f932f22d969c17bc3c74d..8fa0638e4a5ef0a0a72d04a416113c15278fc242 100644
--- a/src/game/game.module.ts
+++ b/src/game/game.module.ts
@@ -17,6 +17,10 @@ import { TickService } from './tick.service';
 import { ScoreService } from '../score/score.service';
 import { ScoreEntity } from 'src/score/score.entity';
 
+/////////////////////////////////////////////////////////////////////
+/// Game                                                          ///
+/// - contains everything to do with Game data                    ///
+/////////////////////////////////////////////////////////////////////
 @Module({
   imports: [
     TypeOrmModule.forFeature([
diff --git a/src/notifications/notification.entity.ts b/src/notifications/notification.entity.ts
index f9d5dca9290c30da406a63adf56ee06fe716a7b5..5e1f841cf031767574c75d54af65ca209fc7e86b 100644
--- a/src/notifications/notification.entity.ts
+++ b/src/notifications/notification.entity.ts
@@ -16,6 +16,7 @@ export class NotificationEntity {
   @Column({ type: 'text' }) message: string;
   @CreateDateColumn() issued: Date;
 
+  // Notifications are deleted if the game is deleted
   @ManyToOne(type => GameEntity, game => game.id, {
     onDelete: 'CASCADE',
   })
diff --git a/src/notifications/notifications.module.ts b/src/notifications/notifications.module.ts
index 607ea0c2d486bddc8f8919a86915ed6014176628..6133784682e03ee4aba0eacf79fad64298b1a80d 100644
--- a/src/notifications/notifications.module.ts
+++ b/src/notifications/notifications.module.ts
@@ -7,6 +7,10 @@ import { GameEntity } from '../game/game.entity';
 import { NotificationsController } from './notifications.controller';
 import { NotificationsService } from './notifications.service';
 
+/////////////////////////////////////////////////////////////////////
+/// Notification                                                  ///
+/// - contains everything to do with Notification data.           ///
+/////////////////////////////////////////////////////////////////////
 @Module({
   imports: [TypeOrmModule.forFeature([NotificationEntity, GameEntity])],
   providers: [NotificationGateway, NotificationsService],
diff --git a/src/notifications/notifications.service.ts b/src/notifications/notifications.service.ts
index d63f01786f1bbab3b500658ac40c24a977165e73..0bbe016ecba9bde516b99222bbe388b3269bba6c 100644
--- a/src/notifications/notifications.service.ts
+++ b/src/notifications/notifications.service.ts
@@ -10,6 +10,7 @@ export class NotificationsService {
     private notificationRepository: Repository<NotificationEntity>,
   ) {}
 
+  // finds all notifications for specified game
   async getNotifications(game: string) {
     return this.notificationRepository.find({ game });
   }
diff --git a/src/replay/replay.controller.ts b/src/replay/replay.controller.ts
index e91bbc09653b35ad45b7581b1529806e2a9c3e0a..1b42439569d54da8d6b2fa8f2986b28669e16a39 100644
--- a/src/replay/replay.controller.ts
+++ b/src/replay/replay.controller.ts
@@ -12,12 +12,14 @@ import { ReplayService } from './replay.service';
 export class ReplayController {
   constructor(private replayservice: ReplayService) {}
 
+  // gets replay data for specified Game
   @Get(':id')
   @UseInterceptors(ClassSerializerInterceptor)
   async replayInfo(@Param('id') gameId) {
     return this.replayservice.replayData(gameId);
   }
 
+  // gets mockdata for specified Game
   @Post('mockdata/:id')
   async mockData(@Param('id') gameId) {
     return this.replayservice.mockdata(gameId);
diff --git a/src/replay/replay.module.ts b/src/replay/replay.module.ts
index 00638def67675c7fd46775c4fa40c4c1ab2b250b..d4d5dc095bf95a9fd2316870d4e3d57a17af321f 100644
--- a/src/replay/replay.module.ts
+++ b/src/replay/replay.module.ts
@@ -23,6 +23,10 @@ import { ScoreService } from '../score/score.service';
 import { ScoreEntity } from '../score/score.entity';
 import { NotificationModule } from 'src/notifications/notifications.module';
 
+/////////////////////////////////////////////////////////////////////
+/// Replay                                                        ///
+/// - contains everything to do with Replay data.                 ///
+/////////////////////////////////////////////////////////////////////
 @Module({
   imports: [
     TypeOrmModule.forFeature([
diff --git a/src/replay/replay.service.ts b/src/replay/replay.service.ts
index 04ace741bd2ed4dc1ee96a6a2359d745a219896c..0ecd90328d77fea094b182b6069a10869afda64b 100644
--- a/src/replay/replay.service.ts
+++ b/src/replay/replay.service.ts
@@ -41,6 +41,11 @@ export class ReplayService {
     let mapDrawingIds = await this.mapdrawingRepository.find({
       where: { gameId: gameId },
       select: ['mapDrawingId'],
+  // replay data for Factions
+  async replayData(gameId) {
+    const replay = await this.factionRepository.find({
+      where: { game: gameId },
+      relations: ['mapDrawings', 'scores', 'trackdata'],
     });
     let drawings = [];
     await Promise.all(
diff --git a/src/score/score.entity.ts b/src/score/score.entity.ts
index 1047f90dc7029c1011368ab54107a875a224b6d2..a5321daa56ae78dbe1d54911bf934a37a9b124db 100644
--- a/src/score/score.entity.ts
+++ b/src/score/score.entity.ts
@@ -14,6 +14,7 @@ export class ScoreEntity {
   @Column({ type: 'float' }) score: number;
   @Column({ type: 'float' }) scoreTimeStamp: number;
 
+  // when Faction is deleted, it's Score is also deleted
   @ManyToOne(type => FactionEntity, factionName => factionName.factionId, {
     onDelete: 'CASCADE',
   })
diff --git a/src/score/score.module.ts b/src/score/score.module.ts
index c04486fc676fca0d7c6a38c74374e03e23a1008c..fce21d189b233bd6f952ebce79e47869171df60b 100644
--- a/src/score/score.module.ts
+++ b/src/score/score.module.ts
@@ -11,6 +11,10 @@ import {
 import { ScoreEntity } from './score.entity';
 import { NotificationModule } from '../notifications/notifications.module';
 
+/////////////////////////////////////////////////////////////////////
+/// Score                                                         ///
+/// - contains everything to do with Score data.                  ///
+/////////////////////////////////////////////////////////////////////
 @Module({
   imports: [
     TypeOrmModule.forFeature([
diff --git a/src/shared/roles.controller.ts b/src/shared/roles.controller.ts
index 0d91e061c7fea732af225819e87f8529ff326eab..0298723936651e1859e76273b14b9086e167f6c9 100644
--- a/src/shared/roles.controller.ts
+++ b/src/shared/roles.controller.ts
@@ -48,41 +48,4 @@ const grants = {
   //player & spectator
 };
 
-const ac = new AccessControl(grants);
-
-/*const express = require ('express');
-const router express.Router;
-
-const ac = new AccessControl();
-ac.grant('faction_leader')                    // define new or modify existing role. also takes an array.
-    .createOwn('mapmarker')             // equivalent to .createOwn('video', ['*'])
-    .deleteOwn('mapmarker')
-    .readOwn('mapmarker')
-  .grant('admin')                   // switch to another role without breaking the chain
-    .extend('user')                 // inherit role capabilities. also takes an array
-    .updateAny('mapmarker', ['title'])  // explicitly defined attributes
-    .deleteAny('mapmarker')
-    .readAny('mapmarker');
-
-//const
-let permission = ac.can('user').createOwn('mapmarker');
-console.log(permission.granted);    // —> true
-console.log(permission.attributes); // —> ['*'] (all attributes)
-
-permission = ac.can('admin').updateAny('mapmarker');
-console.log(permission.granted);    // —> true
-console.log(permission.attributes); // —> ['title']
-
-router.get('/videos/:title', function (req, res, next) {
-    const permission = ac.can(req.user.role).readAny('video');
-    if (permission.granted) {
-        Video.find(req.params.title, function (err, data) {
-            if (err || !data) return res.status(404).end();
-            // filter data by permission attributes and send.
-            res.json(permission.filter(data));
-        });
-    } else {
-        // resource is forbidden for this user/role
-        res.status(403).end();
-    }
-});*/
+const ac = new AccessControl(grants);
\ No newline at end of file
diff --git a/src/shared/validation.pipe.ts b/src/shared/validation.pipe.ts
index cff51f1b068b67886c29dd85587760a1fa016f1e..423f23152e202e3c808d8c1e888f2a5fc00dac30 100644
--- a/src/shared/validation.pipe.ts
+++ b/src/shared/validation.pipe.ts
@@ -7,7 +7,6 @@ import {
 } from '@nestjs/common';
 import { validate } from 'class-validator';
 import { plainToClass } from 'class-transformer';
-import { AdvancedConsoleLogger } from 'typeorm';
 
 @Injectable()
 export class ValidationPipe implements PipeTransform<any> {
diff --git a/src/task/task.entity.ts b/src/task/task.entity.ts
index f1c1cf103fa4338a7f10d0305888d13c097d7a09..762dbc038992f394b1bd773b9fd4e2965fe9a145 100644
--- a/src/task/task.entity.ts
+++ b/src/task/task.entity.ts
@@ -16,6 +16,7 @@ export class TaskEntity {
   @Column({ type: 'text' }) taskDescription: string;
   @Column({ type: 'bool' }) taskIsActive: boolean;
 
+  // when a Faction or Game is deleted, affiliated Tasks are also deleted
   @ManyToOne(type => FactionEntity, faction => faction.factionId, {
     onDelete: 'CASCADE',
   })
diff --git a/src/task/task.module.ts b/src/task/task.module.ts
index 2391f284e62af1eaccb4df9a4cf051735a903775..dc4b8f63d9a1866771f4c68035a09516cfc56bf6 100644
--- a/src/task/task.module.ts
+++ b/src/task/task.module.ts
@@ -7,6 +7,10 @@ import { TaskEntity } from './task.entity';
 import { FactionEntity } from '../faction/faction.entity';
 import { NotificationModule } from '../notifications/notifications.module';
 
+/////////////////////////////////////////////////////////////////////
+/// Task                                                          ///
+/// - contains everything to do with Task data.                   ///
+/////////////////////////////////////////////////////////////////////
 @Module({
   imports: [
     TypeOrmModule.forFeature([TaskEntity, FactionEntity]),
diff --git a/src/task/task.service.ts b/src/task/task.service.ts
index 043f65a130fd37f632b38464112ed353dc4a4233..478a6c18059c5b0388aaad1abe2f3fcc2e05ce5e 100644
--- a/src/task/task.service.ts
+++ b/src/task/task.service.ts
@@ -5,7 +5,6 @@ import { InjectRepository } from '@nestjs/typeorm';
 import { TaskEntity } from './task.entity';
 import { CreateTaskDTO, EditTaskDTO, DeleteTaskDTO } from './task.dto';
 import { FactionEntity } from '../faction/faction.entity';
-import { Game_PersonEntity } from '../game/game.entity';
 import { NotificationGateway } from '../notifications/notifications.gateway';
 
 @Injectable()
@@ -76,6 +75,8 @@ export class TaskService {
     throw new HttpException('Task not found', HttpStatus.BAD_REQUEST);
   }
 
+  // finds all tasks if admin and if non-admin player it finds the playres own
+  // tasks and general tasks
   async fetchTasks(gameperson, taskGame) {
     if (gameperson.role == 'admin') {
       return await this.taskRepository.find({
diff --git a/src/tracking/tracking.controller.ts b/src/tracking/tracking.controller.ts
index 2b409cee30764f1d0d33133828a5fd9f9d47d31f..93d0779a9c1ec36f2446b93167211f9c8eae9dce 100644
--- a/src/tracking/tracking.controller.ts
+++ b/src/tracking/tracking.controller.ts
@@ -2,7 +2,6 @@ import {
   Controller,
   Post,
   Param,
-  UseGuards,
   UsePipes,
   Body,
   Get,
@@ -15,7 +14,7 @@ import { User } from '../user/user.decorator';
 import { Roles, GameStates } from '../shared/guard.decorator';
 import { ValidationPipe } from '../shared/validation.pipe';
 import { GeoDTO } from './geo.dto';
-import { GamePerson } from 'src/game/gameperson.decorator';
+import { GamePerson } from '../game/gameperson.decorator';
 
 @Controller('tracking')
 export class TrackingController {
@@ -35,6 +34,8 @@ export class TrackingController {
     return this.trackingservice.trackLocation(gameperson, id, trackdata);
   }
 
+  // finds certain player's location
+  // :id is the id of the game
   @Get('players/:id')
   @Roles('admin', 'factionleader')
   @GameStates('STARTED', 'PAUSED')
@@ -42,6 +43,8 @@ export class TrackingController {
     return this.trackingservice.getPlayers(gameperson, gameId);
   }
 
+
+  // finds certain player
   @Get('player/:id')
   @Roles('admin', 'factionleader')
   @GameStates('STARTED', 'PAUSED')
diff --git a/src/tracking/tracking.dto.ts b/src/tracking/tracking.dto.ts
index 81cc71597fa93910cb195b1fd4e30f38c62c1f05..3ac93c71d8ccf3035e82fb52a7d21350b6407763 100644
--- a/src/tracking/tracking.dto.ts
+++ b/src/tracking/tracking.dto.ts
@@ -1,4 +1,3 @@
-import { Game_PersonEntity } from '../game/game.entity';
 import { Allow, ValidateNested } from 'class-validator';
 import { GeoDTO } from './geo.dto';
 import { Type } from 'class-transformer';
diff --git a/src/tracking/tracking.entity.ts b/src/tracking/tracking.entity.ts
index 8c5b9ab59c8e4250aa313e6eda540f1847d41f78..4952e18c1f2cbac3b2c31a377909960ed85100c9 100644
--- a/src/tracking/tracking.entity.ts
+++ b/src/tracking/tracking.entity.ts
@@ -9,6 +9,7 @@ export class TrackingEntity {
   @Column({ type: 'json', nullable: true }) data: GeoDTO[];
   @Column('text') icon: string;
 
+  // when the GamePerson is deleted it's tracking data is also deleted
   @ManyToOne(type => Game_PersonEntity, person => person.gamepersonId, {
     onDelete: 'CASCADE',
   })
diff --git a/src/tracking/tracking.module.ts b/src/tracking/tracking.module.ts
index fe31de3704dcd39113f8a46f6f718555a0528b2b..b2a731217fadbda0dca4be40af271b711e604482 100644
--- a/src/tracking/tracking.module.ts
+++ b/src/tracking/tracking.module.ts
@@ -7,6 +7,10 @@ import { TrackingEntity } from './tracking.entity';
 import { Game_PersonEntity } from '../game/game.entity';
 import { PersonEntity } from '../user/user.entity';
 
+/////////////////////////////////////////////////////////////////////
+/// Tracking                                                      ///
+/// - contains everything to do with Tracking data.               ///
+/////////////////////////////////////////////////////////////////////
 @Module({
   imports: [
     TypeOrmModule.forFeature([TrackingEntity, Game_PersonEntity, PersonEntity]),