This commit takes the original file which contained shells of the required functions and spefifies the code for those functions.

testing metod is alos included at the end of the file