Adding documentation and tests to the project