Adding comments to understand the class. Required to do some refactoring later.