Refactoring
  Added comments