added implementation method based on interface
added documentation of methods
added documentation of methods