use valueFormat
reverse optional
build