Adding explanatory comments and javadoc.
Removed explanatory comments and transferred them to interface.
Added comments.