Refactoring/Documentation update