add formatter
add validation