Product refactoring!
Added refactoring part-2
Refactoring part 3
Refactoring part 4