* scratch buffer * Refactoring horizontal path * * Refactoring horizontal pass. Step2 * * Refactoring horizontal pass. Step 3 * * Refactoring vertical pass. Step2 * Refactoring horizontal pass. Step4 * * Clean * Applied comments. * * Applied comments. Part 2