Review PR #5 , update the code based on PR in a new branch, build and test with new modifications to make sure update is not breaking the code