add validation test
add constraint validation