better client side validations