Added documentation to interface file

Tried to explain every step in the interface file and added comment to the file.