Add view model, add validation
add unit testing for view model validation.
Add testing and reformat code with few validation fix