Added Code and Doucmentation