Starting Mary refactor
Refactor done using Mary approach.