being more detailed about client side validation