Added comments
Functional class with methods