Exploring Refactoring book by Martin Fowler