Revert "Author name changed"

This reverts commit b3470051a05c0c94632799c93a6f32f824b162f3.
Revert "Revert "Author name changed""

This reverts commit ce0340336e6a547117784aae4d3e908a0ce0c43f.
This is Strategy Pattern