Refactoring code and adding unit test cases
Refactoring and Option retaining changes
merge branch conflict resolution
make model bug fix