Added Javadocs & Comments