added user validations, controller and views