Testing done and added some explanations.