PR with Template
What does this PR do?
---------
Refactor the first version to use better style