Added comments and removed redundancies.
Removed unnecessary interfaces and methods and added brief comments
to every class.