Initial commit
Adding documentation throughout the code