added client side validations
some styling