init
add validation