introduce Field object
introduce PropertyBuilder class
add FieldConverter class