added client side validations