simple, flexible validations for node and the browser