Adding all source code
Adding documentation