server side validation ready