Refactoring document added - final version.